Platform Explorer / Nuxeo Platform 2023.12

Extension point actions

Documentation

An action is defined by the following properties:

- id: string identifying the action

- label: the action name

- help: the action help message

- link: string representing the command the action will trigger

- category: a string useful to group actions that will be rendered in the same area of a page. An action can define several categories.

- filter-ids: id of a filter that will be used to control the action visibility. An action can have several filters: it is visible if all its filters grant the access.

- filter: a filter definition can be done directly within the action definition. It is a filter like others and can be referred by other actions.

- icon: the optional icon path for this action

- confirm: an optional javascript confirmation string that can be triggered when executing the command.

- enabled: boolean indicating whether the action is currently active. This can be used to hide existing actions when customizing the site behaviour.

- order: an optional integer used to sort actions within the same category. This attribute may be depracated in the future.

- immediate: an optional boolean (available since 5.4.2) that makes it possible to call command actions without validating the enclosing form.

- type: the UI type action (available since 5.6)

UI Type properties, defined within a "properties" tag: - property: the property value - name: the property name

Properties also accept list or map-like values.

Before 5.6, it is important to understand that an action does *not* define the way it will be rendered: this is left to pages, templates and other components displaying it. Most of the time, actions will be rendered as command link or command buttons.

Since 5.6, the template /incl/action/generic_action_template.xhtml handles rendering of an action depending on its type.

Examples:

    <action enabled="true" icon="/icons/file.gif" id="TAB_RIGHTS"
        label="action.view.rights"
        link="/incl/tabs/document_rights.xhtml" type="fancybox">
        <category>VIEW_ACTION_LIST</category>
        <filter-id>rights</filter-id>
        <properties>
            <property name="url">/incl/fancybox.xhtml</property>
            <propertyList name="myListProp">
                <value>item1</value>
                <value>item2</value>
            </propertyList>
            <propertyMap name="myMapProp">
                <property name="mySubProp">mySubPropValue</property>
            </propertyMap>
        </properties>
    </action>
    <action enabled="true" icon="/icons/action_add_file.gif"
        id="newFile" label="action.new.file" link="create_file" type="button">
        <category>SUBVIEW_UPPER_LIST</category>
        <filter-id>create</filter-id>
    </action>
    <action enabled="true" icon="/icons/action_add.gif" id="newSection"
        label="command.create.section"
        link="#{documentActions.createDocument('Section')}" type="icon">
        <category>SUBVIEW_UPPER_LIST</category>
        <filter id="newSection">
            <rule grant="true">
                <permission>AddChildren</permission>
                <type>SectionRoot</type>
            </rule>
        </filter>
    </action>

Actions extension point provides mergeing features: you can change an existing action definition in your custom extension point provided you use the same identifier.

Contribution Descriptors

  • Class: org.nuxeo.ecm.platform.actions.Action

Existing Contributions

Contributions are presented in the same order as the registration order on this extension point. This order is displayed before the contribution name, in brackets.

  • nuxeo-admin-center-analytics-2023.12.6.jar /OSGI-INF/actions-contrib.xml
    <extension point="actions" target="org.nuxeo.ecm.platform.actions.ActionService">
    
        <action enabled="true" id="RepositoryAnalytics" label="tab.useractivity.repositoryAnalytics" link="/analytics/repositoryAnalytics.xhtml" order="40" type="admin_rest_document_link">
          <category>UsersActivity_sub_tab</category>
          <filter-id>only_for_manager</filter-id>
          <properties>
            <!-- disable ajax support to avoid multiple calls to document.registerElement -->
            <property name="ajaxSupport">false</property>
          </properties>
        </action>
    
        <action enabled="true" id="SearchAnalytics" label="tab.useractivity.searchAnalytics" link="/analytics/searchAnalytics.xhtml" order="50" type="admin_rest_document_link">
          <category>UsersActivity_sub_tab</category>
          <filter-id>only_for_manager</filter-id>
          <properties>
            <!-- disable ajax support to avoid multiple calls to document.registerElement -->
            <property name="ajaxSupport">false</property>
          </properties>
        </action>
    
      </extension>
  • nuxeo-admin-center-jsf-2023.12.6.jar /OSGI-INF/actions-contrib.xml
    <extension point="actions" target="org.nuxeo.ecm.platform.actions.ActionService">
    
        <action id="admin" label="label.main.tab.admin.center" link="view_admin" order="100" type="main_tab">
          <category>MAIN_TABS</category>
          <filter-id>adminCenterAccess</filter-id>
        </action>
    
        <action id="SystemInfo" label="admcommand.systeminfo" link="/view_admin-fragment.xhtml" order="10" type="admin_rest_document_link">
          <category>NUXEO_ADMIN</category>
          <filter-id>only_for_manager</filter-id>
        </action>
    
        <action id="HostInfo" label="tab.sysinfo.host" link="/incl/sysinfo/hostInfo.xhtml" order="20" type="admin_rest_document_link">
          <category>SystemInfo_sub_tab</category>
          <filter-id>only_for_manager</filter-id>
        </action>
    
        <action id="NuxeoInfo" label="tab.sysinfo.nuxeo" link="/incl/sysinfo/nuxeoInfo.xhtml" order="30" type="admin_rest_document_link">
          <category>SystemInfo_sub_tab</category>
          <filter-id>only_for_manager</filter-id>
        </action>
    
        <action id="Setup" label="tab.sysinfo.setup" link="/incl/sysinfo/setup.xhtml" order="40" type="admin_rest_document_link">
          <category>SystemInfo_sub_tab</category>
          <filter-id>only_for_manager</filter-id>
        </action>
    
        <action id="Migration" label="tab.sysinfo.migration" link="/incl/sysinfo/migration.xhtml" order="45" type="admin_rest_document_link">
          <category>SystemInfo_sub_tab</category>
          <filter-id>only_for_manager</filter-id>
        </action>
    
        <action id="ReposInfo" label="tab.sysinfo.reposInfo" link="/incl/sysinfo/reposInfo.xhtml" order="50" type="admin_rest_document_link">
          <category>SystemInfo_sub_tab</category>
          <filter-id>only_for_manager</filter-id>
        </action>
    
        <action id="BinariesInfo" label="tab.sysinfo.binariesInfo" link="/incl/sysinfo/binariesInfo.xhtml" order="60" type="admin_rest_document_link">
          <category>SystemInfo_sub_tab</category>
          <filter-id>only_for_manager</filter-id>
        </action>
    
        <!--
          <action id="ReposUsage"
          link="/incl/sysinfo/reposUsage.xhtml"
          label="tab.sysinfo.reposStats"
          type="admin_rest_document_link"
          order="60">
          <category>NUXEO_ADMIN_SystemInfo</category>
          <filter-id>only_for_manager</filter-id>
          </action>
        -->
    
        <action id="UsersActivity" label="admcommand.useractivity" link="/view_admin-fragment.xhtml" order="15" type="admin_rest_document_link">
          <category>NUXEO_ADMIN</category>
          <filter-id>only_for_manager</filter-id>
        </action>
    
        <action id="UsersSessions" label="tab.useractivity.usersSessions" link="/incl/usersActivity/usersSessions.xhtml" order="10" type="admin_rest_document_link">
          <category>UsersActivity_sub_tab</category>
          <filter-id>only_for_manager</filter-id>
        </action>
    
        <action id="EventActivity" label="tab.useractivity.usersActivity" link="/incl/usersActivity/usersActivity.xhtml" order="20" type="admin_rest_document_link">
          <category>UsersActivity_sub_tab</category>
          <filter-id>only_for_manager</filter-id>
        </action>
    
        <action id="WorkManagerStatus" label="Background work" link="/incl/usersActivity/workmanager.xhtml" order="30" type="admin_rest_document_link">
          <category>UsersActivity_sub_tab</category>
          <filter-id>only_for_manager</filter-id>
        </action>
    
        <action id="ConnectClient" label="admcommand.nuxeoconnect" link="/view_updatecenter-fragment.xhtml" order="20" type="admin_rest_document_link">
          <category>NUXEO_ADMIN</category>
          <filter-id>only_for_manager</filter-id>
        </action>
    
        <action id="ConnectClientStatus" label="tab.nuxeoconnect.status" link="/incl/connect/connectStatus.xhtml" order="20" type="admin_rest_document_link">
          <category>ConnectClient_sub_tab</category>
          <filter-id>only_for_manager</filter-id>
        </action>
    
        <action id="ConnectClientTickets" label="tab.nuxeoconnect.tickets" link="/incl/connect/connectTickets.xhtml" order="30" type="admin_rest_document_link">
          <category>ConnectClient_sub_tab</category>
          <filter-id>only_for_manager</filter-id>
        </action>
    
        <action id="ConnectApps" label="admcommand.appstore" link="/view_updatecenter-fragment.xhtml" order="30" type="admin_rest_document_link">
          <category>NUXEO_ADMIN</category>
          <filter-id>only_for_manager</filter-id>
        </action>
    
        <action id="ConnectAppsUpdates" label="tab.appstore.updates" link="/incl/appcenter/connectUpdates.xhtml" order="30" type="admin_rest_document_link">
          <category>ConnectApps_sub_tab</category>
          <filter-id>only_for_manager</filter-id>
        </action>
    
        <action id="ConnectAppsStudio" label="tab.appstore.studio" link="/incl/appcenter/studio.xhtml" order="20" type="admin_rest_document_link">
          <category>ConnectApps_sub_tab</category>
          <filter-id>only_for_manager</filter-id>
        </action>
    
        <action id="ConnectAppsPrivate" label="tab.appstore.private" link="/incl/appcenter/connectPrivate.xhtml" order="40" type="admin_rest_document_link">
          <category>ConnectApps_sub_tab</category>
          <filter-id>only_for_manager</filter-id>
        </action>
    
        <action id="ConnectAppsRemote" label="tab.appstore.remote" link="/incl/appcenter/connectRemote.xhtml" order="40" type="admin_rest_document_link">
          <category>ConnectApps_sub_tab</category>
          <filter-id>only_for_manager</filter-id>
        </action>
    
        <action id="ConnectAppsLocal" label="tab.appstore.local" link="/incl/appcenter/connectLocal.xhtml" order="50" type="admin_rest_document_link">
          <category>ConnectApps_sub_tab</category>
          <filter-id>only_for_manager</filter-id>
        </action>
    
        <action id="Permissions" label="admcommand.permissions" link="/view_admin-fragment.xhtml" order="40" type="admin_rest_document_link">
          <category>NUXEO_ADMIN</category>
          <filter-id>only_for_manager</filter-id>
        </action>
    
        <action id="SearchPermissions" label="tab.permissions.search" link="/incl/permissions/searchPermissions.xhtml" order="10" type="admin_rest_document_link">
          <category>Permissions_sub_tab</category>
          <filter-id>only_for_manager</filter-id>
        </action>
    
        <action id="PurgePermissions" label="tab.permissions.purge" link="/incl/permissions/purgePermissions.xhtml" order="50" type="admin_rest_document_link">
          <category>Permissions_sub_tab</category>
          <filter-id>only_for_manager</filter-id>
        </action>
    
        <!-- Users and Groups management -->
        <action id="UsersGroupsManager" label="command.manageMembers" link="/view_admin-fragment.xhtml" order="45" type="admin_rest_document_link">
          <category>NUXEO_ADMIN</category>
          <filter-id>usersGroupsManagementAccess</filter-id>
          <filter-id>user_manager</filter-id>
          <filter-id>not_readonly</filter-id>
        </action>
    
        <action id="UsersManager" label="label.userManager.users" link="/users/view_users.xhtml" order="10" type="admin_rest_document_link">
          <category>UsersGroupsManager_sub_tab</category>
          <filter-id>usersGroupsManagementAccess</filter-id>
          <filter-id>user_manager</filter-id>
          <filter-id>not_readonly</filter-id>
        </action>
    
        <action id="GroupsManager" label="label.groupManager.groups" link="/users/view_groups.xhtml" order="20" type="admin_rest_document_link">
          <category>UsersGroupsManager_sub_tab</category>
          <filter-id>usersGroupsManagementAccess</filter-id>
          <filter-id>user_manager</filter-id>
          <filter-id>not_readonly</filter-id>
        </action>
    
        <!-- header actions -->
    
        <action icon="/icons/update.png" id="connectUpdates" label="#{connectUpdateStatusInfo.availableUpdateCount} update(s) available" order="1000" type="template">
          <category>USER_SERVICES</category>
          <filter-id>only_for_manager</filter-id>
          <filter-id>hasConnectUpdates</filter-id>
          <properties>
            <property name="containerStyleClass">updateNotificationArea</property>
            <property name="template">/connect_upgrade_link.xhtml</property>
          </properties>
        </action>
    
        <!-- end of header actions -->
    
      </extension>
  • nuxeo-admin-center-monitoring-2023.12.6.jar /OSGI-INF/actions-contrib.xml
    <extension point="actions" target="org.nuxeo.ecm.platform.actions.ActionService">
    
        <action id="Monitoring" label="admcommand.monitoring" link="/view_admin-fragment.xhtml" order="40" type="admin_rest_document_link">
          <category>NUXEO_ADMIN</category>
          <filter-id>only_for_manager</filter-id>
        </action>
    
        <action id="AdministrativeStatus" label="tab.monitoring.status" link="/incl/monitoring/adminStatus.xhtml" order="10" type="admin_rest_document_link">
          <category>Monitoring_sub_tab</category>
          <filter-id>only_for_manager</filter-id>
        </action>
    
        <action id="Probes" label="tab.monitoring.probes" link="/incl/monitoring/adminProbes.xhtml" order="20" type="admin_rest_document_link">
          <category>Monitoring_sub_tab</category>
          <filter-id>only_for_manager</filter-id>
        </action>
    
        <action id="Events" label="tab.monitoring.events" link="/incl/monitoring/adminEvents.xhtml" order="30" type="admin_rest_document_link">
          <category>Monitoring_sub_tab</category>
          <filter-id>only_for_manager</filter-id>
        </action>
    
      </extension>
  • nuxeo-admin-center-oauth-2023.12.6.jar /OSGI-INF/actions-contrib.xml
    <extension point="actions" target="org.nuxeo.ecm.platform.actions.ActionService">
    
        <action id="OAuthOpensocial" label="admcommand.OAuthOpensocial" link="/view_admin-fragment.xhtml" order="40" type="admin_rest_document_link">
          <category>NUXEO_ADMIN</category>
          <filter-id>only_for_manager</filter-id>
        </action>
    
        <action id="NuxeoServerKey" label="tab.oauth.serverkey" link="/incl/oauth/serverkey.xhtml" order="10" type="admin_rest_document_link">
          <category>OAuthOpensocial_sub_tab</category>
          <filter-id>only_for_manager</filter-id>
        </action>
    
        <action id="ServiceProvides" label="tab.oauth.providers" link="/incl/oauth/providers.xhtml" order="20" type="admin_rest_document_link">
          <category>OAuthOpensocial_sub_tab</category>
          <filter-id>only_for_manager</filter-id>
        </action>
    
        <action id="GrantedTokensToMe" label="tab.oauth.grantedTokenSP" link="/incl/oauth/providersTokens.xhtml" order="25" type="admin_rest_document_link">
          <category>OAuthOpensocial_sub_tab</category>
          <filter-id>only_for_manager</filter-id>
        </action>
    
        <action id="Consumers" label="tab.oauth.consumers" link="/incl/oauth/consumers.xhtml" order="30" type="admin_rest_document_link">
          <category>OAuthOpensocial_sub_tab</category>
          <filter-id>only_for_manager</filter-id>
        </action>
    
      </extension>
  • nuxeo-diff-jsf-2023.12.6.jar /OSGI-INF/diff-actions-contrib.xml
    <extension point="actions" target="org.nuxeo.ecm.platform.actions.ActionService">
    
        <!-- Current selection actions -->
        <action id="CURRENT_DOCUMENT_SELECTION_DIFF" label="command.clipboard.diff" link="#{diffActions.prepareCurrentDocumentSelectionDiff}" order="100">
          <category>CURRENT_SELECTION_LIST</category>
          <category>ORDERABLE_CURRENT_SELECTION_LIST</category>
          <filter-id>canDiffCurrentDocumentSelection</filter-id>
        </action>
    
        <!-- Trash actions -->
        <action id="CURRENT_TRASH_SELECTION_DIFF" label="command.clipboard.diff" link="#{diffActions.prepareCurrentTrashSelectionDiff}" order="100">
          <category>CURRENT_SELECTION_TRASH_LIST</category>
          <filter-id>canDiffCurrentTrashSelection</filter-id>
        </action>
    
        <!-- Section actions -->
        <action id="CURRENT_SECTION_SELECTION_DIFF" label="command.clipboard.diff" link="#{diffActions.prepareCurrentSectionSelectionDiff}" order="100">
          <category>CURRENT_SELECTION_SECTIONS_LIST</category>
          <filter-id>canDiffCurrentSectionSelection</filter-id>
        </action>
    
        <!-- Worklist actions -->
        <action icon="/icons/action_diff.png" id="CURRENT_DEFAULT_SELECTION_DIFF" label="command.clipboard.diff" link="#{diffActions.prepareCurrentDefaultSelectionDiff}" order="100">
          <category>DEFAULT_LIST</category>
          <filter-id>canDiffCurrentDefaultSelection</filter-id>
        </action>
    
        <!-- Version actions -->
        <action id="CURRENT_VERSION_SELECTION_DIFF" label="command.clipboard.diff" link="#{diffActions.prepareCurrentVersionSelectionDiff}" order="100">
          <category>CURRENT_VERSION_SELECTION_LIST</category>
          <filter-id>canDiffCurrentVersionSelection</filter-id>
        </action>
    
        <action id="CURRENT_VERSION_DIFF" label="command.versions.diffCurrent" link="#{diffActions.prepareCurrentVersionDiff}" order="100">
          <category>VERSION_LIST_ITEM</category>
        </action>
    
      </extension>
  • nuxeo-elasticsearch-web-2023.12.6.jar /OSGI-INF/actions-contrib.xml
    <extension point="actions" target="org.nuxeo.ecm.platform.actions.ActionService">
    
        <action enabled="true" id="ElasticSearch" label="admcommand.elasticsearch" link="view_admin-fragment.xhtml" order="70" type="admin_rest_document_link">
          <category>NUXEO_ADMIN</category>
          <filter-id>only_for_manager</filter-id>
        </action>
    
        <action enabled="true" id="ESConfig" label="tab.elastic.info" link="/incl/elasticsearch/info.xhtml" order="20" type="admin_rest_document_link">
          <category>ElasticSearch_sub_tab</category>
          <filter-id>only_for_manager</filter-id>
        </action>
    
        <action enabled="true" id="ESAdmin" label="tab.elastic.admin" link="/incl/elasticsearch/admin.xhtml" order="30" type="admin_rest_document_link">
          <category>ElasticSearch_sub_tab</category>
          <filter-id>only_for_manager</filter-id>
        </action>
    
        <action enabled="true" id="ESpp" label="tab.elastic.pp" link="/incl/elasticsearch/pp.xhtml" order="40" type="admin_rest_document_link">
          <category>ElasticSearch_sub_tab</category>
          <filter-id>only_for_manager</filter-id>
        </action>
    
      </extension>
  • nuxeo-localconf-web-2023.12.6.jar /OSGI-INF/local-configuration-ui-types.xml
    <extension point="actions" target="org.nuxeo.ecm.platform.actions.ActionService">
    
        <action icon="/icons/file.gif" id="UI_TYPES_CONFIGURATION" label="action.view.types.configuration" link="/incl/tabs/ui_types_configuration.xhtml" order="100">
          <category>LOCAL_CONFIGURATION</category>
          <filter-id>manage</filter-id>
        </action>
    
      </extension>
  • nuxeo-localconf-web-2023.12.6.jar /OSGI-INF/local-configuration-theme.xml
    <extension point="actions" target="org.nuxeo.ecm.platform.actions.ActionService">
    
        <action icon="/icons/file.gif" id="THEME_CONFIGURATION" label="action.view.theme" link="/incl/tabs/theme_configuration.xhtml" order="100">
          <category>LOCAL_CONFIGURATION</category>
          <filter-id>manage</filter-id>
        </action>
    
      </extension>
  • nuxeo-localconf-web-2023.12.6.jar /OSGI-INF/local-configuration-content-view.xml
    <extension point="actions" target="org.nuxeo.ecm.platform.actions.ActionService">
    
        <action icon="/icons/file.gif" id="CONTENT_VIEW_CONFIGURATION" label="action.view.content.view.configuration" link="/incl/tabs/content_view_configuration.xhtml" order="100">
          <category>LOCAL_CONFIGURATION</category>
          <filter-id>manage</filter-id>
        </action>
    
      </extension>
  • nuxeo-platform-audit-client-2023.12.6.jar /OSGI-INF/actions-contrib.xml
    <extension point="actions" target="org.nuxeo.ecm.platform.actions.ActionService">
        <documentation>
          Contribute a new action related to document history.
        </documentation>
    
        <action enabled="true" icon="/icons/file.gif" id="TAB_CONTENT_HISTORY" label="action.view.history" link="/incl/tabs/document_history.xhtml" order="100" type="rest_document_link">
          <category>VIEW_ACTION_LIST</category>
          <filter-id>TAB_CONTENT_HISTORY_has_subtabs</filter-id>
        </action>
    
        <action enabled="true" icon="/icons/file.gif" id="TAB_EVENTS" label="action.view.events" link="/incl/tabs/document_events_cv.xhtml" order="50" type="rest_document_link">
          <category>TAB_CONTENT_HISTORY_sub_tab</category>
          <filter-id>view_content_history</filter-id>
        </action>
    
        <action enabled="true" icon="/icons/file.gif" id="TAB_EVENTS_PROXY" label="action.view.events" link="/incl/tabs/document_events_cv.xhtml" order="50" type="rest_document_link">
          <category>TAB_CONTENT_HISTORY_sub_tab</category>
          <filter-id>view_proxy_history</filter-id>
          <filter-id>only_for_manager</filter-id>
        </action>
    
        <action enabled="true" icon="/icons/file.gif" id="TAB_VERSIONS" label="action.view.versions" link="/incl/tabs/document_versions.xhtml" order="100" type="rest_document_link">
          <category>TAB_CONTENT_HISTORY_sub_tab</category>
          <filter-id>versionable</filter-id>
        </action>
    
        <!-- Version actions -->
        <action id="VIEW_VERSION" label="command.viewArchivedVersion" link="#{versionedActions.viewArchivedVersion}" order="10">
          <category>VERSION_LIST_ITEM</category>
        </action>
    
        <action id="RESTORE_VERSION" label="command.restore" link="#{versionedActions.restoreToVersion}" order="20">
          <category>VERSION_LIST_ITEM</category>
          <filter-id>canRestoreVersion</filter-id>
          <filter-id>canRestoreMainBlob</filter-id>
        </action>
    
        <action confirm="if( !confirmDeleteDocuments() ) return false;" id="CURRENT_VERSION_SELECTION_DELETE" label="command.removeSelectedArchivedVersions" link="#{versionedActions.removeSelectedArchivedVersions}" order="10">
          <category>CURRENT_VERSION_SELECTION_LIST</category>
          <filter-id>canDeleteCurrentVersionSelection</filter-id>
        </action>
    
      </extension>
  • nuxeo-platform-comment-web-2023.12.6.jar /OSGI-INF/comment-actions-contrib.xml
    <extension point="actions" target="org.nuxeo.ecm.platform.actions.ActionService">
        <action enabled="true" id="view_comments" label="action.view.comments" link="/incl/tabs/document_comments.xhtml" order="80" type="rest_document_link">
          <category>VIEW_ACTION_LIST</category>
          <filter-id>commentable</filter-id>
          <filter-id>mutable_document</filter-id>
          <filter-id>not_anonymous</filter-id>
        </action>
    
        <!-- add the comment creation button -->
        <action enabled="true" id="newComment" label="command.add" link="#{commentManagerActions.addComment}" order="10">
          <category>COMMENT_ACTIONS</category>
        </action>
    
        <action enabled="true" id="cancelComment" label="command.cancel" link="#{commentManagerActions.cancelComment}" order="20">
          <category>COMMENT_ACTIONS</category>
        </action>
      </extension>
  • nuxeo-platform-comment-web-2023.12.6.jar /OSGI-INF/widgets-contrib.xml
    <extension point="actions" target="org.nuxeo.ecm.platform.actions.ActionService">
    
        <action id="summary_document_comments_count" order="30" type="widget">
          <category>SUMMARY_INDICATORS</category>
          <filter-id>commentable</filter-id>
          <filter-id>mutable_document</filter-id>
          <filter-id>not_anonymous</filter-id>
          <properties>
            <property name="widgetName">document_comments_count</property>
          </properties>
        </action>
    
      </extension>
  • nuxeo-platform-contentview-jsf-2023.12.6.jar /OSGI-INF/actions-contrib.xml
    <extension point="actions" target="org.nuxeo.ecm.platform.actions.ActionService">
    
        <action id="selectContentViewPageSize" order="0" type="template">
          <category>CONTENT_VIEW_ACTIONS</category>
          <properties>
            <property name="template">
              /incl/action/content_view_page_size_selector.xhtml
            </property>
            <property name="addForm">false</property>
          </properties>
          <filter-id>contentViewShowPageSizeSelector</filter-id>
        </action>
    
        <action id="selectContentViewResultLayout" order="10" type="template">
          <category>CONTENT_VIEW_ACTIONS</category>
          <properties>
            <property name="template">
              /incl/action/content_view_result_layout_actions.xhtml
            </property>
            <property name="addForm">true</property>
            <property name="useAjaxForm">true</property>
            <property name="ajaxSupport">true</property>
          </properties>
        </action>
    
        <action icon="/icons/refresh.png" id="refreshContentView" label="label.refresh" order="20" type="link">
          <category>CONTENT_VIEW_ACTIONS</category>
          <properties>
            <property name="link">
              #{contentView.refreshAndRewindPageProvider()}
            </property>
            <property name="addForm">true</property>
            <property name="useAjaxForm">true</property>
            <property name="ajaxSupport">true</property>
          </properties>
          <filter-id>contentViewShowRefreshCommand</filter-id>
        </action>
    
        <action icon="/icons/xls_export.png" id="contentViewCSVExport" label="label.contentview.export.xl" order="30" type="template">
          <category>CONTENT_VIEW_ACTIONS</category>
          <properties>
            <property name="template">
              /incl/action/content_view_export.xhtml
            </property>
            <property name="view">xl</property>
          </properties>
          <filter-id>contentViewShowCSVExport</filter-id>
        </action>
    
        <action icon="/icons/pdf_export.png" id="contentViewPDFExport" label="label.contentview.export.pdf" order="40" type="template">
          <category>CONTENT_VIEW_ACTIONS</category>
          <properties>
            <property name="template">
              /incl/action/content_view_export.xhtml
            </property>
            <property name="view">content_view_pdf</property>
          </properties>
          <filter-id>contentViewShowPDFExport</filter-id>
        </action>
    
        <action id="contentViewRSSExport" label="label.syndication.rss" order="50" type="template">
          <category>CONTENT_VIEW_ACTIONS</category>
          <properties>
            <property name="template">
              /incl/action/content_view_export.xhtml
            </property>
            <property name="view">rss</property>
          </properties>
          <filter-id>contentViewShowSyndicationLinks</filter-id>
        </action>
    
        <action id="contentViewATOMExport" label="label.syndication.atom" order="60" type="template">
          <category>CONTENT_VIEW_ACTIONS</category>
          <properties>
            <property name="template">
              /incl/action/content_view_export.xhtml
            </property>
            <property name="view">atom</property>
          </properties>
          <filter-id>contentViewShowSyndicationLinks</filter-id>
        </action>
    
        <action icon="/icons/edit_columns.png" id="contentViewEditColumns" label="label.contentview.edit.columns" order="80" type="fancybox">
          <category>CONTENT_VIEW_ACTIONS</category>
          <properties>
            <property name="include">
              /incl/action/content_view_edit_columns.xhtml
            </property>
            <property name="addForm">true</property>
            <property name="ajaxSupport">true</property>
            <property name="modal">true</property>
          </properties>
          <filter-id>contentViewShowEditColumns</filter-id>
        </action>
    
        <action icon="/icons/edit_columns.png" id="contentViewEditRows" label="label.contentview.edit.rows" order="80" type="fancybox">
          <category>CONTENT_VIEW_ACTIONS</category>
          <properties>
            <property name="include">
              /incl/action/content_view_edit_rows.xhtml
            </property>
            <property name="addForm">true</property>
            <property name="ajaxSupport">true</property>
            <property name="modal">true</property>
          </properties>
          <filter-id>contentViewShowEditRows</filter-id>
        </action>
    
      </extension>
  • nuxeo-platform-directory-web-2023.12.6.jar /OSGI-INF/actions-contrib.xml
    <extension point="actions" target="org.nuxeo.ecm.platform.actions.ActionService">
    
        <action id="DirectoriesManager" label="title.vocabularies" link="/directory/view_directories.xhtml" order="50" type="admin_rest_document_link">
          <category>NUXEO_ADMIN</category>
          <filter-id>directoriesManagementAccess</filter-id>
          <filter-id>not_readonly</filter-id>
        </action>
    
      </extension>
  • nuxeo-platform-io-client-2023.12.6.jar /OSGI-INF/actions-contrib.xml
    <extension point="actions" target="org.nuxeo.ecm.platform.actions.ActionService">
    
        <!-- old export icon for non folderish docs => disabled -->
        <action enabled="false" icon="/icons/zip.png" id="xmlExport" label="action.xml.export" link="#{importExportAction.doExportDocument()}" order="17">
          <category>DOCUMENT_UPPER_ACTION</category>
          <filter-id>not_folder</filter-id>
        </action>
    
        <!-- old export icon for non folderish docs => disabled -->
        <action enabled="false" icon="/icons/zip.png" id="xmlTreeExport" label="action.xmltree.export" link="#{importExportAction.doExportFolder()}" order="17">
          <category>DOCUMENT_UPPER_ACTION</category>
          <filter-id>folder</filter-id>
        </action>
    
        <!-- deprecated since 7.2. Exports are now exposed as renditions, see NXP-16585 -->
        <action enabled="false" icon="/icons/export.png" id="exportView" label="label.exportview" link="export" order="80">
          <category>DOCUMENT_UPPER_ACTION</category>
        </action>
    
        <action icon="/icons/xml.png" id="exportViewXMLExport" label="label.exportview.xmlExport" link="#{importExportAction.documentXMLExportURL}" order="10">
          <category>DOCUMENT_EXPORT_VIEW_ACTION</category>
        </action>
    
        <action icon="/icons/zip_export.png" id="exportViewZIPExport" label="label.exportview.zipExport" link="#{importExportAction.documentZIPTreeExportURL}" order="20">
          <category>DOCUMENT_EXPORT_VIEW_ACTION</category>
          <filter-id>not_folder</filter-id>
        </action>
    
        <action icon="/icons/zip_tree_export.png" id="exportViewTreeZIPExport" label="label.exportview.zipTreeExport" link="#{importExportAction.documentZIPTreeExportURL}" order="30">
          <category>DOCUMENT_EXPORT_VIEW_ACTION</category>
          <filter-id>folder</filter-id>
        </action>
    
        <action icon="/icons/action_export_zip.gif" id="WORKLIST_XMLEXPORT" label="command.clipboard.xmlZipExport" link="#{importExportAction.exportCurrentList()}">
          <category>DEFAULT_LIST</category>
          <filter id="currentWorkListIsNotEmptyXML">
            <rule grant="false">
              <condition>#{clipboardActions.workListEmpty}</condition>
            </rule>
          </filter>
        </action>
    
      </extension>
  • nuxeo-platform-relations-web-2023.12.6.jar /OSGI-INF/actions-contrib.xml
    <extension point="actions" target="org.nuxeo.ecm.platform.actions.ActionService">
    
        <action enabled="true" id="TAB_RELATIONS" label="action.view.relations" link="/incl/tabs/document_relations.xhtml" order="55" type="rest_document_link">
          <category>VIEW_ACTION_LIST</category>
          <filter id="view_relations">
            <rule grant="true">
              <permission>Read</permission>
            </rule>
            <rule grant="false">
              <facet>Folderish</facet>
            </rule>
            <rule grant="false">
              <type>Server</type>
            </rule>
          </filter>
        </action>
    
      </extension>
  • nuxeo-platform-rendition-web-2023.12.6.jar /OSGI-INF/actions-contrib.xml
    <extension point="actions" target="org.nuxeo.ecm.platform.actions.ActionService">
    
        <action icon="/icons/export.png" id="documentExport" label="label.exportview" order="80" type="fancybox">
          <category>DOCUMENT_UPPER_ACTION</category>
          <properties>
            <property name="include">/incl/renditions_box.xhtml</property>
            <property name="autoDimensions">false</property>
            <property name="width">40%</property>
            <property name="height">40%</property>
            <property name="scrolling">auto</property>
            <property name="ajaxSupport">true</property>
            <property name="excludedKinds">nuxeo:video:conversion,nuxeo:picture:conversion</property>
          </properties>
          <filter-id>hasVisibleRenditions</filter-id>
        </action>
    
        <action id="StoredRenditions" label="admcommand.searchrenditions" link="/incl/search_renditions.xhtml" order="50" type="admin_rest_document_link">
          <category>NUXEO_ADMIN</category>
          <filter-id>only_for_manager</filter-id>
        </action>
    
      </extension>
  • nuxeo-platform-ui-select2-2023.12.6.jar /OSGI-INF/actions-contrib.xml
    <extension point="actions" target="org.nuxeo.ecm.platform.actions.ActionService">
    
        <action id="addEntryFromSuggestDirectoryWidget" label="label.directorySuggestion.addNewEntry" type="template">
          <properties>
            <property name="template">
              /incl/action/suggest_add_new_directory_entry_action.xhtml
            </property>
            <property name="ajaxSupport">true</property>
          </properties>
        </action>
    
      </extension>
  • nuxeo-platform-user-registration-web-2023.12.6.jar /OSGI-INF/user-registration-actions-contrib.xml
    <extension point="actions" target="org.nuxeo.ecm.platform.actions.ActionService">
    
        <action id="UserRegistration" label="admcommand.userregistration" link="/view_admin-fragment.xhtml" order="55" type="admin_rest_document_link">
          <category>NUXEO_ADMIN</category>
          <filter-id>only_for_manager</filter-id>
        </action>
    
        <action id="UserRegistrationRequests" label="tab.userregistration.requests" link="/incl/userregistration/requests_listing_all.xhtml" order="10" type="admin_rest_document_link">
          <category>UserRegistration_sub_tab</category>
          <filter-id>only_for_manager</filter-id>
        </action>
    
        <action id="UserRegistrationConfiguration" label="tab.userregistration.configuration" link="/incl/userregistration/requests_configuration.xhtml" order="20" type="admin_rest_document_link">
          <category>UserRegistration_sub_tab</category>
          <filter-id>only_for_manager</filter-id>
        </action>
    
        <action id="UserRegistrationRequestsCreate" label="tab.userregistration.requests.create" link="/incl/userregistration/default_requests_create.xhtml" order="220" type="rest_document_link">
          <category>TAB_MANAGE_sub_tab</category>
          <filter-id>manage</filter-id>
          <filter-id>mutable_document</filter-id>
          <filter-id>view_content</filter-id>
        </action>
    
        <action id="UserRegistrationRequestsMultipleCreate" label="tab.userregistration.requests.multiple.create" link="/incl/userregistration/multiple_requests_create.xhtml" order="230" type="rest_document_link">
          <category>TAB_MANAGE_sub_tab</category>
          <filter-id>manage</filter-id>
          <filter-id>mutable_document</filter-id>
          <filter-id>view_content</filter-id>
        </action>
    
        <action id="UserRegistrationRequestsListingLocal" label="tab.userregistration.requests" link="/incl/userregistration/requests_listing_local.xhtml" order="240" type="rest_document_link">
          <category>TAB_MANAGE_sub_tab</category>
          <filter-id>manage</filter-id>
          <filter-id>mutable_document</filter-id>
          <filter-id>view_content</filter-id>
          <filter id="displayRegistrationListingLocal">
            <rule grant="true">
              <condition>#{userRegistrationConfigurationActions.getRules('default_registration').isDisplayLocalTab()}
              </condition>
            </rule>
          </filter>
        </action>
    
        <action id="UserRegistrationDelete" label="tab.userregistration.delete" link="${userRegistrationActions.deleteUserRegistration}" order="20">
          <category>CURRENT_USER_REQUESTS_GLOBAL</category>
          <category>CURRENT_USER_REQUESTS_LOCAL</category>
          <filter-id>only_for_manager</filter-id>
          <filter id="canDeleteRegistration">
            <rule grant="true">
              <condition>#{userRegistrationActions.canDelete}</condition>
            </rule>
          </filter>
        </action>
    
        <action id="UserRegistrationRevive" label="tab.userregistration.revive" link="${userRegistrationActions.reviveUserRegistration}" order="30">
          <category>CURRENT_USER_REQUESTS_GLOBAL</category>
          <category>CURRENT_USER_REQUESTS_LOCAL</category>
          <filter-id>only_for_manager</filter-id>
          <filter id="canReviveRegistration">
            <rule grant="true">
              <condition>#{userRegistrationActions.canRevive}</condition>
            </rule>
          </filter>
        </action>
    
        <action id="UserRegistrationValidate" label="tab.userregistration.validate" link="${userRegistrationActions.validateUserRegistration}" order="25">
          <category>CURRENT_USER_REQUESTS_GLOBAL</category>
          <category>CURRENT_USER_REQUESTS_LOCAL</category>
          <filter-id>only_for_manager</filter-id>
          <filter id="canValidateRegistration">
            <rule grant="true">
              <condition>#{userRegistrationActions.canValidate}</condition>
            </rule>
          </filter>
        </action>
    
      </extension>
  • nuxeo-platform-userworkspace-web-2023.12.6.jar /OSGI-INF/userworkspace-actions-contrib.xml
    <extension point="actions" target="org.nuxeo.ecm.platform.actions.ActionService">
        <action enabled="true" icon="/icons/go_to_repository.gif" id="SHOW_REPOSITORY" label="command.user.return.to.repository" link="#{userWorkspaceManagerActions.navigateToOverallWorkspace}" order="60">
          <category>USER_MENU_ACTIONS</category>
          <filter-id>isInsidePersonalWorkspace</filter-id>
        </action>
    
        <action enabled="true" icon="/icons/show_personal_workspace.gif" id="SHOW_PERSONAL_WORKSPACE" label="command.user.personal.workspace" link="#{userWorkspaceManagerActions.navigateToCurrentUserPersonalWorkspace}" order="61">
          <category>USER_MENU_ACTIONS</category>
          <filter-id>not_anonymous</filter-id>
          <filter-id>not_transient_user</filter-id>
          <filter-id>canAccessPersonalWorkspace</filter-id>
        </action>
      </extension>
  • nuxeo-platform-webapp-base-2023.12.6.jar /OSGI-INF/actions-contrib.xml
    <extension point="actions" target="org.nuxeo.ecm.platform.actions.ActionService">
    
        <action enabled="true" id="seamReload" label="Reload Seam" link="#{seamReload.doReload}" order="50">
          <category>USER_MENU_ACTIONS</category>
          <filter-id>seamHotReloadIsEnabled</filter-id>
        </action>
    
        <action enabled="true" id="devModeFlush" label="Dev mode: force flush" link="#{seamReload.doFlush}" order="100">
          <category>USER_MENU_ACTIONS</category>
          <filter-id>devModeEnabledForAdmin</filter-id>
        </action>
    
        <action id="activateLayoutDevMode" label="Activate UI Development mode" link="#{nuxeoLayoutManagerBean.setDevModeSet(true)}" order="100">
          <category>USER_SERVICES</category>
          <filter-id>layoutDevModeDisabled</filter-id>
        </action>
    
        <action id="deactivateLayoutDevMode" label="Deactivate UI Development mode" link="#{nuxeoLayoutManagerBean.setDevModeSet(false)}" order="100">
          <category>USER_SERVICES</category>
          <filter-id>layoutDevModeEnabled</filter-id>
        </action>
    
        <!-- NXP-7025: disable pdf export on doc -->
        <!--
          <action id="pdfExport" link="pdf" order="18"
          label="label.exportview.pdfExport" icon="/icons/pdf_export.png">
          <category>DOCUMENT_UPPER_ACTION</category>
          </action>
        -->
    
        <action icon="/icons/pdf_export.png" id="exportViewPDFExport" label="label.exportview.pdfExport" link="#{restHelper.getDocumentUrl(currentDocument, 'pdf', true)}" order="0">
          <category>DOCUMENT_EXPORT_VIEW_ACTION</category>
        </action>
    
        <action icon="/icons/action_export_zip.gif" id="exportViewZipBlobExport" label="label.exportview.zipBlobExport" link="#{clipboardActions.exportWorklistAsZip(currentDocument)}">
          <category>DOCUMENT_EXPORT_VIEW_COMMAND_ACTION</category>
        </action>
    
        <!-- Contextual tools buttons contrib NXP-9039 -->
        <action icon="/icons/contextual_menu/unlocked.png" id="documentLock" label="command.lock" link="#{lockActions.lockCurrentDocument}" order="10" type="link">
          <category>DOCUMENT_UPPER_ACTION</category>
          <filter-id>mutable_document</filter-id>
          <filter-id>can_lock</filter-id>
          <properties>
            <property name="ajaxSupport">true</property>
          </properties>
        </action>
    
        <action icon="/icons/contextual_menu/locked.png" id="documentUnlock" label="command.unlock" link="#{lockActions.unlockCurrentDocument}" order="10" type="link">
          <category>DOCUMENT_UPPER_ACTION</category>
          <filter-id>mutable_document</filter-id>
          <filter-id>can_unlock</filter-id>
          <properties>
            <property name="ajaxSupport">true</property>
          </properties>
        </action>
    
        <action accessKey="k" icon="/icons/contextual_menu/share.png" id="permalinkAction" label="label.permalink" order="20" type="fancybox">
          <category>DOCUMENT_UPPER_ACTION</category>
          <properties>
            <property name="include">/incl/permalink_box.xhtml</property>
            <property name="ajaxSupport">true</property>
          </properties>
        </action>
    
        <action icon="/icons/contextual_menu/subscribe.png" id="subscribesAllDocNotifications" label="label.subscriptions.follow" link="#{subscriptionAction.updateAllSubscriptions}" order="40" type="link">
          <category>DOCUMENT_UPPER_ACTION</category>
          <filter-id>hasNoSubscriptions</filter-id>
          <filter-id>canSubscribe</filter-id>
          <filter-id>isNotVersion</filter-id>
          <properties>
            <property name="ajaxSupport">true</property>
          </properties>
        </action>
    
        <action icon="/icons/contextual_menu/unsubscribe.png" id="unsubscribesAllDocNotifications" label="label.subscriptions.unfollow" link="#{subscriptionAction.updateAllSubscriptions}" order="40" type="link">
          <category>DOCUMENT_UPPER_ACTION</category>
          <filter-id>hasSubscriptions</filter-id>
          <filter-id>canSubscribe</filter-id>
          <filter-id>isNotVersion</filter-id>
          <properties>
            <property name="ajaxSupport">true</property>
          </properties>
        </action>
    
        <action icon="/icons/action_add.gif" id="addCurrentDocumentToWorklist" immediate="true" label="help.command.clipboard.addworklist" link="#{operationActionBean.doOperation('addCurrentDocumentToWorklist')}" order="60" type="link">
          <category>DOCUMENT_UPPER_ACTION</category>
          <filter-id>not_folder</filter-id>
          <filter-id>not_anonymous</filter-id>
          <properties>
            <property name="ajaxSupport">true</property>
          </properties>
        </action>
    
        <action icon="/icons/printer.gif" id="print" label="label.print" link="#{restHelper.doPrint(themeActions.defaultTheme)}" order="70">
          <category>DOCUMENT_UPPER_ACTION</category>
          <properties>
            <property name="target">_blank</property>
          </properties>
        </action>
    
        <action id="restoreVersion" immediate="true" label="command.undeleteDocs" link="#{deleteActions.restoreCurrentDocument}" order="1">
          <category>DOCUMENT_SUMMARY_CUSTOM_ACTIONS</category>
          <filter-id>restoreVersionDisplay</filter-id>
        </action>
    
        <action icon="/icons/pdf.png" id="blobToPDF" label="label.document.generatePdf" link="#{conversionActions.generatePdfFileFromBlobHolder(currentDocument, currentDocumentAsBlobHolder)}" order="200">
          <category>BLOB_ACTIONS</category>
          <filter-id>isMainBlob</filter-id>
          <filter-id>isExportableToPDF</filter-id>
        </action>
    
      </extension>
  • nuxeo-platform-webapp-base-2023.12.6.jar /OSGI-INF/layouts-contrib.xml
    <extension point="actions" target="org.nuxeo.ecm.platform.actions.ActionService">
    
        <action id="userLayout" order="100" type="widget">
          <category>USER_PANEL_LEFT</category>
          <properties>
            <property name="widgetName">userLayout</property>
          </properties>
        </action>
    
      </extension>
  • nuxeo-platform-webapp-core-2023.12.6.jar /OSGI-INF/actions-contrib.xml
    <extension point="actions" target="org.nuxeo.ecm.platform.actions.ActionService">
    
        <!-- server actions -->
    
        <action id="documents" label="label.main.tab.documents" link="view_documents" order="40" type="main_tab">
          <category>MAIN_TABS</category>
          <properties>
            <property name="requireDocument">true</property>
          </properties>
        </action>
    
        <action id="non_anonymous_logout" label="command.logout" link="logout" order="100" type="bare_link">
          <category>USER_MENU_ACTIONS</category>
          <filter-id>not_anonymous</filter-id>
        </action>
    
        <action id="login" label="command.login" link="logout" order="100" type="bare_link">
          <category>USER_MENU_ACTIONS</category>
          <filter-id>anonymous</filter-id>
        </action>
    
        <action icon="/icons/action_add.gif" id="newDomain" label="command.create.domain" link="#{documentActions.createDocument('Domain')}">
          <category>SUBVIEW_UPPER_LIST</category>
          <filter id="newDomain">
            <rule grant="true">
              <permission>AddChildren</permission>
              <type>Root</type>
            </rule>
          </filter>
        </action>
    
        <!-- domain and roots actions -->
    
        <action icon="/icons/action_add.gif" id="newWorkspace" label="command.create.workspace" link="#{documentActions.createDocument('Workspace')}">
          <category>SUBVIEW_UPPER_LIST</category>
          <filter id="newWorkspace">
            <rule grant="true">
              <permission>AddChildren</permission>
              <type>WorkspaceRoot</type>
            </rule>
          </filter>
        </action>
    
        <action enabled="false" icon="/icons/action_add.gif" id="newWorkspaceWithWizard" label="command.create.workspace.wizard" link="create_workspace_wizard">
          <category>SUBVIEW_UPPER_LIST</category>
          <filter id="newWorkspaceWizard">
            <rule grant="true">
              <permission>AddChildren</permission>
              <type>WorkspaceRoot</type>
            </rule>
          </filter>
        </action>
    
        <action icon="/icons/action_add.gif" id="newSection" label="command.create.section" link="#{documentActions.createDocument('Section')}">
          <category>SUBVIEW_UPPER_LIST</category>
          <filter id="newSection">
            <rule grant="true">
              <permission>AddChildren</permission>
              <type>SectionRoot</type>
            </rule>
          </filter>
        </action>
    
        <!-- generic actions -->
    
        <action icon="/icons/action_add.gif" id="newDocument" label="action.new.document" type="fancybox">
          <category>SUBVIEW_UPPER_LIST</category>
          <properties>
            <property name="include">/select_document_type.xhtml</property>
          </properties>
          <filter-id>create</filter-id>
        </action>
    
        <!-- disabled by default, see NXP-15369 -->
        <action enabled="false" icon="/icons/action_add_file.gif" id="newFile" label="action.new.file" type="fancybox">
          <category>SUBVIEW_UPPER_LIST</category>
          <properties>
            <property name="include">/create_file.xhtml</property>
          </properties>
          <filter-id>importFile</filter-id>
        </action>
    
        <!--
          tabs are handled by a specific template so links should be paths to
          template to include in the tab content
        -->
        <action accessKey="m" icon="/icons/file.gif" id="TAB_MANAGE" label="action.view.manage" order="240" type="rest_document_link">
          <category>VIEW_ACTION_LIST</category>
          <filter-id>manage</filter-id>
          <filter id="TAB_MANAGE_has_subtabs">
            <rule grant="false">
              <condition>
                #{webActions.getActionsList('TAB_MANAGE_sub_tab').isEmpty()}
              </condition>
            </rule>
          </filter>
          <properties>
            <property name="ajaxSupport">true</property>
            <property name="link">/incl/tabs/document_manage.xhtml</property>
          </properties>
        </action>
    
        <action icon="/icons/file.gif" id="TAB_PERMISSIONS" label="action.view.permissions" link="/permissions/document_permissions.xhtml" order="50">
          <category>VIEW_ACTION_LIST</category>
          <filter-id>isNotVersion</filter-id>
          <properties>
            <!-- NXP-18320: disable ajax support on Polymer tabs -->
            <property name="ajaxSupport">false</property>
          </properties>
        </action>
    
        <action accessKey="v" icon="/icons/file.gif" id="TAB_VIEW" label="action.view.summary" link="/incl/tabs/document_view.xhtml" order="0" type="rest_document_link">
          <category>VIEW_ACTION_LIST</category>
          <filter-id>view</filter-id>
          <properties>
            <property name="ajaxSupport">true</property>
          </properties>
        </action>
    
        <action accessKey="c" icon="/icons/file.gif" id="TAB_CONTENT" label="action.view.content" link="/incl/tabs/document_content.xhtml" order="10" type="rest_document_link">
          <category>VIEW_ACTION_LIST</category>
          <!--
            NXP-12715: use same tab on workspaces and sections
          -->
          <!--
            <filter-id>outSection</filter-id>
          -->
          <filter-id>view_content</filter-id>
          <properties>
            <property name="ajaxSupport">true</property>
          </properties>
        </action>
    
        <!--
          NXP-12715: use same tab on workspaces and sections => disable this action
          by default
        -->
        <action enabled="false" icon="/icons/file.gif" id="TAB_SECTION_CONTENT" label="action.view.content" link="/incl/tabs/section_content.xhtml" order="10" type="rest_document_link">
          <category>VIEW_ACTION_LIST</category>
          <filter-id>view_content</filter-id>
          <filter-id>inSection</filter-id>
          <properties>
            <property name="ajaxSupport">true</property>
          </properties>
        </action>
    
        <action icon="/icons/file.gif" id="TAB_TRASH_CONTENT" label="action.view.trash.content" link="/incl/tabs/document_trash_content.xhtml" order="200">
          <category>TAB_MANAGE_sub_tab</category>
          <filter id="viewTrash">
            <rule grant="true">
              <permission>Manage everything</permission>
              <facet>Folderish</facet>
              <condition>#{deleteActions.trashManagementEnabled}</condition>
            </rule>
          </filter>
          <properties>
            <property name="ajaxSupport">true</property>
          </properties>
        </action>
    
        <action accesskey="p" icon="/icons/printer.gif" id="print" label="label.print" link="#{restHelper.doPrint(themeActions.defaultTheme)}" order="100">
          <category>DOCUMENT_UPPER_ACTION_BLANK_TARGET</category>
        </action>
    
        <action accessKey="e" icon="/icons/file.gif" id="TAB_EDIT" label="action.view.modification" link="/incl/tabs/document_edit.xhtml" order="20" type="rest_document_link">
          <category>VIEW_ACTION_LIST</category>
          <filter-id>edit</filter-id>
          <filter-id>mutable_document</filter-id>
          <properties>
            <property name="ajaxSupport">true</property>
          </properties>
        </action>
    
        <action accessKey="e" icon="/icons/file.gif" id="TAB_WORKSPACE_EDIT" label="action.view.modification" link="/incl/tabs/document_edit.xhtml" order="22" type="rest_document_link">
          <category>VIEW_ACTION_LIST</category>
          <filter-id>workspace_edit</filter-id>
          <filter-id>mutable_document</filter-id>
          <properties>
            <property name="ajaxSupport">true</property>
          </properties>
        </action>
    
        <action accessKey="f" id="TAB_FILES_EDIT" label="action.view.files" link="/incl/tabs/document_files_edit.xhtml" order="43" type="rest_document_link">
          <category>VIEW_ACTION_LIST</category>
          <filter-id>edit</filter-id>
          <filter-id>mutable_document</filter-id>
          <filter-id>hasAttachedFiles</filter-id>
          <filter-id>denyFilesTab</filter-id>
          <properties>
            <property name="ajaxSupport">true</property>
          </properties>
        </action>
    
        <action enabled="false" icon="/icons/file.gif" id="TAB_RIGHTS" label="action.view.rights" link="/incl/tabs/document_rights.xhtml" order="50">
          <category>TAB_MANAGE_sub_tab</category>
          <filter-id>rights</filter-id>
          <properties>
            <property name="ajaxSupport">true</property>
          </properties>
        </action>
    
        <!-- Manage the sub tabs -->
    
        <!-- Actions on WorkLists -->
    
        <action icon="/icons/action_paste_all.gif" id="WORKLIST_PASTE" label="command.clipboard.pasteAll" link="#{clipboardActions.pasteWorkingList}">
          <category>DEFAULT_LIST</category>
          <category>CLIPBOARD_LIST</category>
          <filter-id>canPasteCurrentWorkList</filter-id>
        </action>
    
        <action icon="/icons/action_move_all.gif" id="WORKLIST_MOVE" label="command.clipboard.moveAll" link="#{clipboardActions.moveWorkingList}">
          <category>DEFAULT_LIST</category>
          <category>CLIPBOARD_LIST</category>
          <filter-id>canMoveWorkingList</filter-id>
        </action>
    
        <action icon="/icons/action_export_zip.gif" id="WORKLIST_EXPORT" label="command.clipboard.zipExport" link="#{clipboardActions.exportWorklistAsZip()}">
          <category>DEFAULT_LIST</category>
          <filter id="currentWorkListIsNotEmpty2">
            <rule grant="false">
              <condition>#{clipboardActions.workListEmpty}</condition>
            </rule>
          </filter>
        </action>
    
        <action icon="/icons/action_clipboard_deleteall.gif" id="WORKLIST_CLEAN" label="command.clipboard.delAll" link="#{clipboardActions.clearWorkingList()}">
          <category>DEFAULT_LIST</category>
          <category>CLIPBOARD_LIST</category>
          <filter id="currentWorkListIsNotEmpty3">
            <rule grant="false">
              <condition>#{clipboardActions.workListEmpty}</condition>
            </rule>
          </filter>
        </action>
    
        <!-- Actions for the document selection -->
    
        <action icon="" id="CLIPBOARD_PASTE" label="command.clipboard.paste" link="#{clipboardActions.pasteClipboard}" order="20">
          <category>CURRENT_SELECTION_LIST</category>
          <category>ORDERABLE_CURRENT_SELECTION_LIST</category>
          <filter id="canPastFromClipboard">
            <rule grant="true">
              <condition>#{clipboardActions.canPasteFromClipboard}</condition>
            </rule>
          </filter>
        </action>
    
        <action confirm="if( !confirmDeleteDocumentsForever() ) return false;" help="command.deleteDocs.help" icon="" id="CURRENT_SELECTION_DELETE" label="command.deleteDocs" link="#{deleteActions.purgeSelection}">
          <category>CURRENT_SELECTION_TRASH_LIST</category>
          <filter id="canPurge">
            <rule grant="true">
              <condition>#{deleteActions.canPurge}</condition>
            </rule>
          </filter>
        </action>
    
        <action confirm="if( !confirmEmptyTrash() ) return false;" help="command.emptyTrash.help" icon="" id="CURRENT_SELECTION_EMPTY_TRASH" label="command.emptyTrash" link="#{deleteActions.emptyTrash}">
          <category>CURRENT_SELECTION_TRASH_LIST</category>
          <filter id="canEmptyTrash">
            <rule grant="true">
              <condition>#{deleteActions.canEmptyTrash}</condition>
            </rule>
          </filter>
        </action>
    
        <action confirm="if( !confirmUndeleteDocuments() ) return false;" help="command.undeleteDocs.help" icon="" id="CURRENT_SELECTION_UNDELETE" label="command.undeleteDocs" link="#{deleteActions.undeleteSelection}">
          <category>CURRENT_SELECTION_TRASH_LIST</category>
          <filter id="canPurge"/>
        </action>
    
        <action confirm="if( !confirmDeleteDocuments() ) return false;" help="command.trashDocs.help" icon="" id="CURRENT_SELECTION_TRASH" label="command.trashDocs" link="#{deleteActions.deleteSelection}" order="1000">
          <category>CURRENT_SELECTION_LIST</category>
          <category>ORDERABLE_CURRENT_SELECTION_LIST</category>
          <filter id="canDelete">
            <rule grant="true">
              <condition>#{deleteActions.canDelete}</condition>
            </rule>
          </filter>
        </action>
    
        <action icon="" id="CURRENT_SELECTION_EDIT" label="command.bulk.edit" order="0" type="fancybox">
          <category>CURRENT_SELECTION_LIST</category>
          <category>ORDERABLE_CURRENT_SELECTION_LIST</category>
          <filter-id>canEditCurrentSelection</filter-id>
          <properties>
            <property name="include">/incl/bulk_edit_box.xhtml</property>
            <property name="layout">bulkEdit@edit</property>
            <property name="autoDimensions">false</property>
            <property name="width">50%</property>
            <property name="height">70%</property>
            <property name="modal">true</property>
            <property name="scrolling">auto</property>
            <property name="ajaxSupport">true</property>
          </properties>
        </action>
    
        <action icon="" id="CURRENT_SELECTION_COPY" label="command.clipboard.copy" link="#{clipboardActions.putSelectionInClipboard}" order="10">
          <category>CURRENT_SELECTION_LIST</category>
          <category>ORDERABLE_CURRENT_SELECTION_LIST</category>
          <filter-id>canCopyFromCurrentSelection</filter-id>
        </action>
    
        <action icon="" id="CURRENT_SELECTION_ADDTOLIST" label="help.command.clipboard.addworklist" link="#{clipboardActions.putSelectionInDefaultWorkList}" order="30">
          <category>CURRENT_SELECTION_LIST</category>
          <category>ORDERABLE_CURRENT_SELECTION_LIST</category>
          <filter-id>canCopyFromCurrentSelection</filter-id>
          <filter id="no_addtolist_for_domains">
            <rule grant="false">
              <type>Root</type>
            </rule>
          </filter>
        </action>
    
        <action enabled="true" icon="" id="MOVE_TOP" label="command.order.movetotop" link="#{orderableDocumentActions.moveToTop}" order="200">
          <category>ORDERABLE_CURRENT_SELECTION_LIST</category>
          <filter-id>canMoveToTop</filter-id>
        </action>
    
        <action enabled="true" icon="" id="MOVE_UP" label="command.order.moveup" link="#{orderableDocumentActions.moveUp}" order="250">
          <category>ORDERABLE_CURRENT_SELECTION_LIST</category>
          <filter-id>canMoveUp</filter-id>
        </action>
    
        <action enabled="true" icon="" id="MOVE_DOWN" label="command.order.movedown" link="#{orderableDocumentActions.moveDown}" order="300">
          <category>ORDERABLE_CURRENT_SELECTION_LIST</category>
          <filter-id>canMoveDown</filter-id>
        </action>
    
        <action enabled="true" icon="" id="MOVE_BOTTOM" label="command.order.movetobottom" link="#{orderableDocumentActions.moveToBottom}" order="350">
          <category>ORDERABLE_CURRENT_SELECTION_LIST</category>
          <filter-id>canMoveToBottom</filter-id>
        </action>
    
        <action confirm="if( !confirmDeleteDocuments() ) return false;" help="command.trashDocs.help" icon="" id="CURRENT_SELECTION_SECTIONS_TRASH" label="command.trashDocs" link="#{deleteActions.deleteSelectionSections}">
          <category>CURRENT_SELECTION_SECTIONS_LIST</category>
          <filter id="canDeleteSection">
            <rule grant="true">
              <condition>#{deleteActions.canDeleteSections}</condition>
            </rule>
          </filter>
        </action>
    
        <action icon="/icons/view_doc.png" id="POPUP_VIEW" label="command.view" link="javascript:doView">
          <category>POPUP</category>
        </action>
    
        <action icon="/icons/application_form_edit.png" id="POPUP_EDIT" label="action.view.edit" link="javascript:doEdit">
          <category>POPUP</category>
          <filter-id>user_canedit</filter-id>
          <filter-id>mutable_document</filter-id>
        </action>
    
        <action icon="/icons/action_clipboard_copy.gif" id="POPUP_COPY" label="command.clipboard.copy" link="javascript:doCopy">
          <category>POPUP</category>
        </action>
    
        <action icon="/icons/action_paste_all.gif" id="POPUP_PASTE" label="command.clipboard.paste" link="javascript:doPaste">
          <category>POPUP</category>
          <filter id="canPastePopup">
            <rule grant="true">
              <condition>
                #{clipboardActions.getCanPasteFromClipboardInside(document)}
              </condition>
            </rule>
          </filter>
        </action>
    
        <action icon="/icons/action_move_all.gif" id="POPUP_MOVE" label="command.clipboard.moveAll" link="javascript:doMove">
          <category>POPUP</category>
          <filter id="canPastePopup">
            <rule grant="true">
              <condition>
                #{clipboardActions.getCanMoveFromClipboardInside(document)}
              </condition>
            </rule>
          </filter>
        </action>
    
        <action icon="/icons/rename.png" id="POPUP_RENAME" label="command.rename" link="javascript:doRename">
          <category>POPUP</category>
          <filter-id>user_canedit</filter-id>
          <filter-id>mutable_document</filter-id>
          <filter id="canRenamePopup">
            <rule grant="true">
              <condition>#{popupHelper.isCurrentContainerDirectParent}</condition>
            </rule>
          </filter>
        </action>
    
        <action icon="/icons/delete_red.png" id="POPUP_DEL" label="command.trashDocs" link="javascript:doDelete">
          <category>POPUP</category>
          <filter id="canDeletePopup">
            <rule grant="true">
              <condition>#{deleteActions.getCanDeleteItem(container)}</condition>
            </rule>
          </filter>
        </action>
    
        <action icon="/icons/group.png" id="POPUP_RIGHTS" label="action.view.rights" link="javascript:doAccessRights" order="10">
          <category>POPUP</category>
          <filter-id>rights</filter-id>
        </action>
    
        <action icon="/icons/icone_download.gif" id="POPUP_DOWNLOAD" label="command.download" link="javascript:doDownload" order="70">
          <category>POPUP</category>
          <filter id="hasContent">
            <rule grant="true">
              <schema>file</schema>
            </rule>
          </filter>
          <filter id="documentHasBlobAttached">
            <rule grant="true">
              <condition>
                #{popupHelper.isDocumentHasBlobAttached(document)}
              </condition>
            </rule>
          </filter>
        </action>
    
        <action icon="/icons/start_workflow.png" id="POPUP_WORKFLOW" label="action.view.review" link="javascript:doWorkflow" order="90">
          <category>POPUP</category>
          <filter-id>jbpm-process</filter-id>
          <filter-id>mutable_document</filter-id>
        </action>
    
        <action icon="/icons/lock.gif" id="POPUP_DOCUMENT_LOCK" label="command.lock" link="javascript:doLock" order="110">
          <category>POPUP</category>
          <filter-id>mutable_document</filter-id>
          <filter id="popup_can_lock_doc">
            <rule grant="true">
              <permission>Write</permission>
              <condition>#{lockActions.getCanLockDoc(document)}</condition>
            </rule>
            <rule grant="false">
              <facet>Folderish</facet>
            </rule>
          </filter>
        </action>
    
        <action icon="/icons/lock.gif" id="POPUP_DOCUMENT_UNLOCK" label="command.unlock" link="javascript:doUnlock" order="130">
          <category>POPUP</category>
          <filter-id>mutable_document</filter-id>
          <filter id="popup_can_unlock_doc">
            <rule grant="true">
              <condition>#{lockActions.getCanUnlockDoc(document)}</condition>
            </rule>
            <rule grant="false">
              <facet>Folderish</facet>
            </rule>
          </filter>
        </action>
    
        <action icon="/icons/mail.gif" id="POPUP_sendEmail" label="action.email.document" link="javascript:doSendEmail" order="150">
          <category>POPUP</category>
          <filter-id>not_folder</filter-id>
        </action>
    
        <!-- Actions for the document lock/unlock -->
    
        <action icon="" id="DOCUMENT_LOCK" label="command.lock" link="#{lockActions.lockCurrentDocument}">
          <category>EDIT_ACTIONS</category>
          <filter-id>mutable_document</filter-id>
          <filter-id>can_lock</filter-id>
        </action>
    
        <action icon="" id="DOCUMENT_UNLOCK" label="command.unlock" link="#{lockActions.unlockCurrentDocument}">
          <category>EDIT_ACTIONS</category>
          <filter-id>mutable_document</filter-id>
          <filter-id>can_unlock</filter-id>
        </action>
    
        <!-- live edit new document creation links -->
    
        <action icon="/icons/word.png" id="le_create_msword" label="action.liveedit.create.msword" link="#{nxd:liveCreateUrl('application/msword', 'File', 'file', 'content', 'filename')}" order="40" type="bare_link">
          <category>LIVEEDIT_CREATE_ACTIONS</category>
          <filter-id>is_le_create_msword</filter-id>
          <properties>
            <property name="cacheLink">true</property>
          </properties>
        </action>
    
        <action icon="/icons/xls.png" id="le_create_msexcel" label="action.liveedit.create.msexcel" link="#{nxd:liveCreateUrl('application/vnd.ms-excel', 'File', 'file', 'content', 'filename')}" order="50" type="bare_link">
          <category>LIVEEDIT_CREATE_ACTIONS</category>
          <filter-id>is_le_create_msexcel</filter-id>
          <properties>
            <property name="cacheLink">true</property>
          </properties>
        </action>
    
        <action icon="/icons/ppt.png" id="le_create_mspowerpoint" label="action.liveedit.create.mspowerpoint" link="#{nxd:liveCreateUrl('application/vnd.ms-powerpoint', 'File', 'file', 'content', 'filename')}" order="60" type="bare_link">
          <category>LIVEEDIT_CREATE_ACTIONS</category>
          <filter-id>is_le_create_mspowerpoint</filter-id>
          <properties>
            <property name="cacheLink">true</property>
          </properties>
        </action>
    
        <action icon="/icons/odt.png" id="le_create_odwriter" label="action.liveedit.create.writer" link="#{nxd:liveCreateUrl('application/vnd.oasis.opendocument.text', 'File', 'file', 'content', 'filename')}" order="80" type="bare_link">
          <category>LIVEEDIT_CREATE_ACTIONS</category>
          <filter-id>is_le_create_odwriter</filter-id>
          <properties>
            <property name="cacheLink">true</property>
          </properties>
        </action>
    
        <action icon="/icons/ods.png" id="le_create_odcalc" label="action.liveedit.create.calc" link="#{nxd:liveCreateUrl('application/vnd.oasis.opendocument.spreadsheet', 'File', 'file', 'content', 'filename')}" order="100" type="bare_link">
          <category>LIVEEDIT_CREATE_ACTIONS</category>
          <filter-id>is_le_create_odcalc</filter-id>
          <properties>
            <property name="cacheLink">true</property>
          </properties>
        </action>
    
        <action icon="/icons/odp.png" id="le_create_odimpress" label="action.liveedit.create.impress" link="#{nxd:liveCreateUrl('application/vnd.oasis.opendocument.presentation', 'File', 'file', 'content', 'filename')}" order="120" type="bare_link">
          <category>LIVEEDIT_CREATE_ACTIONS</category>
          <filter-id>is_le_create_odimpress</filter-id>
          <properties>
            <property name="cacheLink">true</property>
          </properties>
        </action>
    
        <!-- Local Configuration -->
        <action icon="/icons/file.gif" id="TAB_LOCAL_CONFIGURATION" label="action.view.local.configuration" link="/incl/tabs/local_configuration.xhtml" order="70">
          <category>TAB_MANAGE_sub_tab</category>
          <filter-id>has_local_configuration_available</filter-id>
          <properties>
            <property name="ajaxSupport">true</property>
          </properties>
        </action>
    
        <!-- actions on document create and edit pages -->
    
        <action id="CREATE_DOCUMENT" label="command.create" link="#{documentActions.saveDocument}" order="0">
          <category>CREATE_DOCUMENT_FORM</category>
          <filter-id>is_not_creating_workspace</filter-id>
        </action>
    
        <action id="CREATE_WORKSPACE" label="command.create" link="#{documentTemplatesActions.createDocumentFromTemplate}" order="0">
          <category>CREATE_DOCUMENT_FORM</category>
          <filter-id>is_creating_workspace</filter-id>
        </action>
    
        <action id="CANCEL_DOCUMENT_CREATION" immediate="true" label="command.cancel" link="#{navigationContext.goBack()}" order="50">
          <category>CREATE_DOCUMENT_FORM</category>
          <properties>
            <property name="ajaxSupport">true</property>
          </properties>
        </action>
    
        <action id="EDIT_CURRENT_DOCUMENT" label="command.save" link="#{documentActions.updateCurrentDocument}" order="0">
          <category>EDIT_DOCUMENT_FORM</category>
          <properties>
            <property name="ajaxSupport">true</property>
          </properties>
        </action>
    
        <action enabled="false" id="EDIT_CURRENT_DOCUMENT_AND_STAY" label="command.save.and.stay" link="#{documentActions.updateDocument(currentDocument, true)}" order="10">
          <category>EDIT_DOCUMENT_FORM</category>
          <properties>
            <property name="ajaxSupport">true</property>
          </properties>
        </action>
    
        <!-- end of actions on document create and edit pages -->
    
        <!-- footer links -->
    
        <action id="footer_contact_us" label="label.footer.contactUs" link="//www.nuxeo.com/about/contact?utm_source=dm&amp;utm_medium=pages-footer&amp;utm_campaign=products" order="10" type="bare_link">
          <category>FOOTER</category>
          <properties>
            <property name="target">_blank</property>
          </properties>
        </action>
    
        <action id="footer_blogs" label="label.footer.blogs" link="//www.nuxeo.com/blog?utm_source=dm&amp;utm_medium=pages-footer&amp;utm_campaign=products" order="20" type="bare_link">
          <category>FOOTER</category>
          <properties>
            <property name="target">_blank</property>
          </properties>
        </action>
    
        <action id="footer_community" label="label.footer.community" link="//community.nuxeo.com/?utm_source=dm&amp;utm_medium=pages-footer&amp;utm_campaign=products" order="30" type="bare_link">
          <category>FOOTER</category>
          <properties>
            <property name="target">_blank</property>
          </properties>
        </action>
    
        <action id="footer_answers" label="label.footer.answers" link="//answers.nuxeo.com/?utm_source=dm&amp;utm_medium=pages-footer&amp;utm_campaign=products" order="40" type="bare_link">
          <category>FOOTER</category>
          <properties>
            <property name="target">_blank</property>
          </properties>
        </action>
    
        <action id="footer_documentation" label="label.footer.documentation" link="//doc.nuxeo.com/?utm_source=dm&amp;utm_medium=pages-footer&amp;utm_campaign=products" order="50" type="bare_link">
          <category>FOOTER</category>
          <properties>
            <property name="target">_blank</property>
          </properties>
        </action>
    
        <action id="footer_twitter" label="Twitter" link="//twitter.com/nuxeo/?utm_source=dm&amp;utm_medium=pages-footer&amp;utm_campaign=products" order="60" type="bare_link">
          <category>FOOTER</category>
          <properties>
            <property name="styleClass">twitt</property>
            <property name="labelStyleClass">footerLabel</property>
            <property name="target">_blank</property>
          </properties>
        </action>
    
        <action id="footer_linkedin" label="LinkedIn" link="//www.linkedin.com/groupRegistration?gid=43314&amp;utm_source=dm&amp;utm_medium=pages-footer&amp;utm_campaign=products" order="70" type="bare_link">
          <category>FOOTER</category>
          <properties>
            <property name="styleClass">linkedin</property>
            <property name="labelStyleClass">footerLabel</property>
            <property name="target">_blank</property>
          </properties>
        </action>
    
        <!-- end of footer links -->
    
        <action id="bulkImportDocuments" label="label.bulk.import.documents" order="0" type="fancybox">
          <category>IMPORT_ACTIONS</category>
          <properties>
            <property name="include">/incl/bulk_import_box.xhtml</property>
            <property name="dropContext">IMPORT_DOCUMENTS</property>
            <property name="autoDimensions">false</property>
            <property name="width">70%</property>
            <property name="height">95%</property>
            <property name="modal">true</property>
            <property name="scrolling">auto</property>
            <property name="ajaxSupport">true</property>
          </properties>
        </action>
    
      </extension>
  • nuxeo-platform-webapp-base-2023.12.6.jar /OSGI-INF/collection-actions-contrib.xml
    <extension point="actions" target="org.nuxeo.ecm.platform.actions.ActionService">
    
        <action icon="/icons/collection_tab.png" id="Collections" label="user.center.collections" link="/user_center_fragment.xhtml" order="80">
          <category>USER_CENTER</category>
          <properties>
            <property name="alwaysDisplaySubTabs">true</property>
          </properties>
          <filter-id>not_anonymous</filter-id>
          <filter-id>not_transient_user</filter-id>
        </action>
    
        <action id="CollectionList" label="user.center.collections" link="/incl/collection_listing.xhtml" order="0">
          <category>Collections_sub_tab</category>
          <filter-id>not_readonly</filter-id>
        </action>
    
        <action accessKey="u" icon="/icons/add_to_collection.png" id="addToCollectionAction" label="label.addToCollection" order="0" type="fancybox">
          <category>DOCUMENT_UPPER_ACTION</category>
          <filter-id>canAddToCollection</filter-id>
          <properties>
            <property name="include">/incl/add_to_collection.xhtml</property>
          </properties>
          <filter-id>not_transient_user</filter-id>
        </action>
    
        <action accessKey="u" icon="/icons/add_to_collection.png" id="selectDocumentToBeAddedToCollection" label="label.addToCollection.selectDocToBeAddedToCollection" order="0" type="fancybox">
          <category>DOCUMENT_UPPER_ACTION</category>
          <filter-id>canSelectedToBeAddedToCollection</filter-id>
          <properties>
            <property name="include">/incl/select_doc_to_be_added_to_collection.xhtml</property>
          </properties>
          <filter-id>not_transient_user</filter-id>
        </action>
    
    
        <action id="collectionContent" label="action.view.content" link="/incl/collection_content_listing.xhtml" order="-1">
          <category>VIEW_ACTION_LIST</category>
          <filter-id>collectionContentFilter</filter-id>
        </action>
    
        <action confirm="if( !confirmDeleteDocumentsForever() ) return false;" help="comand.deleteDocs.help" icon="" id="collectionsCurrentSelectionDelete" label="command.trashDocs" link="#{deleteActions.purgeSelection('COLLECTIONS_CURRENT_SELECTION')}">
          <category>COLLECTIONS_CURRENT_SELECTION_LIST</category>
          <filter id="canDeleteCollections">
            <rule grant="true">
              <condition>#{deleteActions.getCanDelete('COLLECTIONS_CURRENT_SELECTION')}</condition>
            </rule>
          </filter>
        </action>
    
        <action icon="" id="collectionCurrentSelectionDelete" label="label.removeCurrentSelectionFromCollection" link="#{collectionActions.removeCurrentSelectionFromCollection()}">
          <category>COLLECTION_ACTION</category>
          <filter id="canRemoveFromCollection"/>
        </action>
    
        <action accessKey="j" icon="/icons/add_to_collection.png" id="addSelectedToCollectionAction" label="label.addToCollection" order="40" type="fancybox">
          <category>CURRENT_SELECTION_LIST</category>
          <category>ORDERABLE_CURRENT_SELECTION_LIST</category>
          <filter-id>canAddSelectedToCollection</filter-id>
          <properties>
            <property name="include">/incl/add_selection_to_collection.xhtml</property>
            <property name="autoDimensions">false</property>
            <property name="height">400</property>
            <property name="width">600</property>
          </properties>
          <filter-id>not_transient_user</filter-id>
        </action>
    
        <action id="exportViewZipBlobExport">
          <filter-id>can_zip_export</filter-id>
        </action>
    
        <action id="TAB_VIEW">
          <filter-id>denyForCollection</filter-id>
        </action>
    
      </extension>
  • nuxeo-platform-suggestbox-jsf-2023.12.6.jar /OSGI-INF/suggestbox-actions-contrib.xml
    <extension point="actions" target="org.nuxeo.ecm.platform.actions.ActionService">
    
        <documentation>
          Disable the default simple search from Nuxeo and adds a
          suggestion search box instead.
        </documentation>
    
        <!-- disable suggest box for now, see NXP-15081 -->
        <action enabled="false" id="simple_search_box"/>
    
        <action id="suggest_search_box" order="1" type="template">
          <category>SEARCH_ACTIONS</category>
          <filter-id>isSearchEnabled</filter-id>
          <properties>
            <property name="template">/search/suggestbox.xhtml</property>
            <property name="disableMultipartForm">true</property>
            <property name="minChars">1</property>
            <property name="multiple">false</property>
            <property name="operationId">Search.SuggestersLauncher</property>
            <property name="placeholder">label.suggestion.placeholder</property>
            <property name="readonly">false</property>
            <property name="selectionFormatter">nuxeo.suggestbox.selectedFormatter</property>
            <property name="suggestionFormatter">nuxeo.suggestbox.suggestedFormatter</property>
            <property name="onAddEntryHandler">nuxeo.suggestbox.entryHandler</property>
            <property name="autocomplete">true</property>
            <property name="dropdownCssClass">nx-header-s2-dd</property>
            <property name="containerCssClass">nx-header-s2-ct</property>
            <property name="width">300px</property>
            <property name="translatePlaceholder">true</property>
            <property name="onEnterKeyHandler">nxSuggestHandleEnterKey</property>
          </properties>
        </action>
    
      </extension>
  • nuxeo-platform-imaging-jsf-2023.12.6.jar /OSGI-INF/actions-contrib.xml
    <extension point="actions" target="org.nuxeo.ecm.platform.actions.ActionService">
    
        <action id="triggerContentViewSlideshow" label="label.contentview.trigger.slideshow" order="70" type="template">
          <category>CONTENT_VIEW_ACTIONS</category>
          <properties>
            <property name="template">
              /incl/action/content_view_slideshow.xhtml
            </property>
          </properties>
          <filter-id>contentViewShowSlideshow</filter-id>
        </action>
    
        <action icon="/icons/page_rotateleft.gif" id="pictureRotate90left" label="action.picture.rotateLeft" link="#{pictureManager.rotate90left}" order="100" type="link">
          <category>IMAGE_PROCESSING</category>
          <filter-id>hasPictureFacet</filter-id>
          <filter-id>canRotatePicture</filter-id>
        </action>
    
        <action icon="/icons/page_rotateright.gif" id="pictureRotate90right" label="action.picture.rotateRight" link="#{pictureManager.rotate90right}" order="200" type="link">
          <category>IMAGE_PROCESSING</category>
          <filter-id>hasPictureFacet</filter-id>
          <filter-id>canRotatePicture</filter-id>
        </action>
    
        <action enabled="false" icon="/icons/generate.png" id="recomputePictureViews" label="label.imaging.recompute.picture.views" link="#{imagingRecomputeActions.recomputePictureViews}" order="-100">
          <category>DOCUMENT_UPPER_ACTION</category>
          <filter-id>hasPictureFacet</filter-id>
          <filter-id>canRecomputePictureViews</filter-id>
        </action>
    
        <action id="Imaging" label="adm.imaging" link="/incl/imaging/imaging_admin_recompute_views.xhtml" order="150" type="admin_rest_document_link">
          <category>NUXEO_ADMIN</category>
          <filter-id>only_for_manager</filter-id>
        </action>
    
      </extension>
  • nuxeo-platform-publisher-web-2023.12.6.jar /OSGI-INF/actions-contrib.xml
    <extension point="actions" target="org.nuxeo.ecm.platform.actions.ActionService">
    
        <action icon="" id="CURRENT_SELECTION_UNPUBLISH" label="command.document.unpublish" link="#{publishActions.unpublishDocumentsFromCurrentSelection}">
          <category>CURRENT_SELECTION_SECTIONS_LIST</category>
          <filter id="can_unpublish">
            <rule grant="true">
              <permission>AddChildren</permission>
              <facet>PublishSpace</facet>
              <condition>#{documentActions.canUnpublish}</condition>
            </rule>
          </filter>
        </action>
    
        <action icon="/icons/action_publish.gif" id="WORKLIST_PUBLISH" label="command.clipboard.publish" link="#{publishActions.publishWorkList()}">
          <category>DEFAULT_LIST</category>
          <filter id="canPublishWorkList">
            <rule grant="false">
              <condition>#{clipboardActions.workListEmpty}</condition>
            </rule>
            <rule grant="true">
              <facet>PublishSpace</facet>
              <permission>CanAskForPublishing</permission>
            </rule>
          </filter>
        </action>
    
        <action icon="/icons/file.gif" id="TAB_PUBLISH" label="action.publish.content" link="/incl/tabs/document_publish.xhtml" order="53" type="rest_document_link">
          <category>VIEW_ACTION_LIST</category>
          <filter-id>publish_document</filter-id>
          <filter-id>mutable_document</filter-id>
        </action>
    
        <action icon="/icons/file.gif" id="TAB_ADMIN_PUBLICATION_TREES" label="action.admin.publication.tree" link="/incl/tabs/admin_publication_trees.xhtml" order="110" type="rest_document_link">
          <category>TAB_MANAGE_sub_tab</category>
          <filter-id>admin_publication_trees_filter</filter-id>
        </action>
    
      </extension>
  • nuxeo-platform-webapp-base-2023.12.6.jar /OSGI-INF/favorites-actions-contrib.xml
    <extension point="actions" target="org.nuxeo.ecm.platform.actions.ActionService">
    
        <!-- action id="Favorites" link="/user_center_fragment.xhtml" label="user.center.favorites"
          order="80" icon="/icons/favorite_tab.png"> <category>USER_CENTER</category> <properties>
          <property name="alwaysDisplaySubTabs">true</property> </properties> <filter-id>not_anonymous</filter-id>
          </action> <action id="favoritesContent" link="/incl/favorites_content_listing.xhtml"
          label="user.center.favorites" order="0"> <category>Favorites_sub_tab</category> <filter-id>not_readonly</filter-id>
          </action -->
    
        <action icon="/icons/pin.png" id="addToFavoritesAction" label="label.addToFavorites" link="#{favoritesActions.addCurrentDocumentToFavorites()}" order="0">
          <category>DOCUMENT_UPPER_ACTION</category>
          <filter-id>not_transient_user</filter-id>
          <filter-id>canAddToFavorites</filter-id>
        </action>
    
        <action icon="/icons/pinned.png" id="removeFromFavoritesAction" label="label.removeFromFavorites" link="#{favoritesActions.removeCurrentDocumentFromFavorites()}" order="0">
          <category>DOCUMENT_UPPER_ACTION</category>
          <filter-id>not_transient_user</filter-id>
          <filter-id>canRemoveFromFavorites</filter-id>
        </action>
    
      </extension>
  • nuxeo-platform-notification-web-2023.12.6.jar /OSGI-INF/actions-contrib.xml
    <extension point="actions" target="org.nuxeo.ecm.platform.actions.ActionService">
    
        <documentation>
          Contribute a new tab where a user can subscribe to
          notifications.
        </documentation>
    
        <action enabled="false" icon="/icons/file.gif" id="TAB_MY_SUBSCRIPTIONS" label="action.subscriptions.tab" link="/incl/tabs/document_subscriptions.xhtml" order="70" type="rest_document_link">
          <category>VIEW_ACTION_LIST</category>
          <filter-id>general_documents</filter-id>
          <filter-id>not_anonymous</filter-id>
          <filter-id>isNotVersion</filter-id>
        </action>
    
        <action enabled="true" icon="/icons/file.gif" id="TAB_MANAGE_SUBSCRIPTIONS" label="action.groups.subscriptions.tab" link="/incl/tabs/document_group_subscriptions.xhtml" order="80" type="rest_document_link">
          <category>TAB_MANAGE_sub_tab</category>
          <filter-id>general_documents</filter-id>
          <filter-id>manage_subscriptions</filter-id>
          <filter-id>isNotVersion</filter-id>
        </action>
    
      </extension>
  • nuxeo-platform-tag-web-2023.12.6.jar /OSGI-INF/navtree-contrib.xml
    <extension point="actions" target="org.nuxeo.ecm.platform.actions.ActionService">
        <action icon="/img/TAG_CLOUD.png" id="navtree_TAG_CLOUD" label="label.byTagNavigation" order="100" type="rest_document_link">
          <category>TREE_EXPLORER</category>
          <properties>
            <property name="ajaxSupport">true</property>
            <property name="link">/incl/tag_cloud.xhtml</property>
          </properties>
          <filter id="browseByTagsFilter">
            <rule grant="true">
              <condition>#{tagActions.canBrowseByTags()}</condition>
            </rule>
          </filter>
        </action>
      </extension>
  • nuxeo-platform-webapp-core-2023.12.6.jar /OSGI-INF/importOptions-actions-contrib.xml
    <extension point="actions" target="org.nuxeo.ecm.platform.actions.ActionService">
    
        <action help="desc.import.and.add.to.clipboard" id="Chain.ImportClipboard" label="label.import.and.add.to.clipboard" link="" order="10">
          <category>Clipboard_CLIPBOARD</category>
          <filter-id>not_anonymous</filter-id>
          <properties>
            <property name="chainId">Blob.ImportClipboard</property>
          </properties>
        </action>
        <action help="desc.import.and.add.to.worklist" id="Chain.ImportWorklist" label="label.import.and.add.to.worklist" link="" order="10">
          <category>Clipboard_DEFAULT</category>
          <filter-id>not_anonymous</filter-id>
          <properties>
            <property name="chainId"><Blob class="ImportWorklist"/></property>
          </properties>
        </action>
    
        <action help="desc.smart.import.file" id="Chain.FileManager.ImportInSeam" label="label.smart.import" link="" order="10">
          <category>ContentView</category>
          <filter-id>create</filter-id>
          <properties>
            <property name="chainId">FileManager.ImportInSeam</property>
          </properties>
        </action>
        <action help="desc.smart.import.with.md" id="Chain.FileManager.ImportWithMetaDataInSeam" label="label.smart.import.with.md" link="/nuxeo/dndFormCollector.faces?schemas=dc&amp;layouts=dndEdit" order="30">
          <category>ContentView</category>
          <filter-id>create</filter-id>
          <properties>
            <property name="chainId">FileManager.ImportWithMetaDataInSeam</property>
            <property name="layout">dndEdit</property>
          </properties>
        </action>
    
        <action enabled="false" help="desc.dnd.attach" id="BlobHolder.Attach" label="label.dnd.attach" link="" order="10">
          <category>mainBlob</category>
          <filter-id>mutable_document</filter-id>
          <filter-id>user_canedit</filter-id>
          <filter-id>updatable_main_blob</filter-id>
          <properties>
            <property name="operationId">BlobHolder.AttachOnCurrentDocument</property>
          </properties>
        </action>
        <action help="desc.dnd.attach" id="Chain.VersionAndAttachFile" label="label.dnd.attach" link="" order="10">
          <category>mainBlob</category>
          <filter-id>mutable_document</filter-id>
          <filter-id>user_canedit</filter-id>
          <filter-id>updatable_main_blob</filter-id>
          <properties>
            <property name="chainId">VersionAndAttachFile</property>
          </properties>
        </action>
        <action help="desc.dnd.attachfiles" id="Chain.AttachFiles" label="label.dnd.attachfiles" link="" order="10">
          <category>otherBlobs</category>
          <filter-id>mutable_document</filter-id>
          <filter-id>user_canedit</filter-id>
          <properties>
            <property name="chainId">AttachFiles</property>
          </properties>
        </action>
        <action enabled="false" help="desc.dnd.attachfiles" id="Chain.VersionAndAttachFiles" label="label.dnd.attachfiles" link="" order="10">
          <category>otherBlobs</category>
          <filter-id>mutable_document</filter-id>
          <filter-id>user_canedit</filter-id>
          <properties>
            <property name="chainId">VersionAndAttachFiles</property>
          </properties>
        </action>
    
      </extension>
  • nuxeo-platform-webapp-core-2023.12.6.jar /OSGI-INF/layouts-summary-contrib.xml
    <extension point="actions" target="org.nuxeo.ecm.platform.actions.ActionService">
    
        <documentation>
          Actions for stacking widgets inside the summary default
          widgets.
    
          @since 5.6
        </documentation>
    
        <!-- default widgets on left panel -->
    
        <action id="summary_note_text" order="100" type="widget">
          <category>SUMMARY_PANEL_LEFT</category>
          <properties>
            <property name="widgetName">summary_note_text</property>
          </properties>
          <filter-id>hasNote</filter-id>
        </action>
    
        <action id="summary_current_document_files" order="200" type="widget">
          <category>SUMMARY_PANEL_LEFT</category>
          <properties>
            <property name="widgetName">summary_current_document_files</property>
          </properties>
        </action>
    
        <action id="summary_current_document_view" order="300" type="widget">
          <category>SUMMARY_PANEL_LEFT</category>
          <properties>
            <property name="widgetName">summary_current_document_view</property>
          </properties>
          <filter-id>notHasNote</filter-id>
          <filter-id>denyForFile</filter-id>
        </action>
    
        <action id="summary_current_document_dublincore" order="350" type="widget">
          <category>SUMMARY_PANEL_LEFT</category>
          <properties>
            <property name="widgetName">summary_current_document_dublincore</property>
          </properties>
          <filter-id>hasDublincore</filter-id>
        </action>
    
        <action id="summary_current_document_comments" order="400" type="widget">
          <category>SUMMARY_PANEL_LEFT</category>
          <properties>
            <property name="widgetName">summary_current_document_comments</property>
          </properties>
        </action>
    
        <action id="summary_current_document_publications" order="500" type="widget">
          <category>SUMMARY_PANEL_LEFT</category>
          <properties>
            <property name="widgetName">summary_current_document_publications</property>
          </properties>
        </action>
    
        <action id="summary_current_document_single_tasks" order="600" type="widget">
          <category>SUMMARY_PANEL_LEFT</category>
          <properties>
            <property name="widgetName">summary_current_document_single_tasks</property>
          </properties>
        </action>
    
        <!-- end of default widgets on left panel -->
    
        <!-- default widgets on right panel -->
    
        <action id="summary_current_document_description" order="100" type="widget">
          <category>SUMMARY_PANEL_RIGHT</category>
          <properties>
            <property name="widgetName">summary_current_document_description</property>
          </properties>
        </action>
    
        <action id="summary_current_document_indicators" order="150" type="widget">
          <category>SUMMARY_PANEL_RIGHT</category>
          <properties>
            <property name="widgetName">summary_current_document_indicators</property>
          </properties>
        </action>
    
    
    
        <action id="summary_current_document_states" order="200" type="widget">
          <category>SUMMARY_PANEL_RIGHT</category>
          <properties>
            <property name="widgetName">summary_current_document_states</property>
          </properties>
        </action>
    
        <action id="summary_current_document_contributors" order="300" type="widget">
          <category>SUMMARY_PANEL_RIGHT</category>
          <properties>
            <property name="widgetName">summary_current_document_contributors</property>
          </properties>
        </action>
    
        <action id="summary_current_document_custom_actions" order="400" type="widget">
          <category>SUMMARY_PANEL_RIGHT</category>
          <properties>
            <property name="widgetName">summary_current_document_custom_actions</property>
          </properties>
        </action>
    
        <action id="summary_current_document_tagging" order="500" type="widget">
          <category>SUMMARY_PANEL_RIGHT</category>
          <properties>
            <property name="widgetName">summary_current_document_tagging</property>
            <property name="disableMultipartForm">true</property>
          </properties>
        </action>
    
        <action id="summary_current_document_relations" order="600" type="widget">
          <category>SUMMARY_PANEL_RIGHT</category>
          <properties>
            <property name="widgetName">summary_current_document_relations</property>
          </properties>
        </action>
    
        <!-- end of default widgets on right panel -->
    
      </extension>
  • nuxeo-platform-rendition-web-2023.12.6.jar /OSGI-INF/layouts-summary-contrib.xml
    <extension point="actions" target="org.nuxeo.ecm.platform.actions.ActionService">
    
        <documentation>
          Contribute the "Renditions" widget to the summary
        </documentation>
    
        <!-- Disabled since NXP-16509, the renditions are displayed through the Additional Formats action -->
        <action enabled="false" id="summary_current_document_renditions" order="900" type="widget">
          <category>SUMMARY_PANEL_RIGHT</category>
          <properties>
            <property name="widgetName">summary_current_document_renditions</property>
          </properties>
        </action>
    
      </extension>
  • nuxeo-platform-audio-jsf-2023.12.6.jar /OSGI-INF/layouts-contrib.xml
    <extension point="actions" target="org.nuxeo.ecm.platform.actions.ActionService">
    
        <action id="summary_audio_player" order="50" type="widget">
          <category>SUMMARY_PANEL_LEFT</category>
          <properties>
            <property name="widgetName">summary_audio_player</property>
          </properties>
          <filter-id>hasAudio</filter-id>
        </action>
    
        <action id="summary_current_document_view">
          <filter-id>notHasAudio</filter-id>
        </action>
    
        <action id="infoViewAudioPlayer" order="100" type="widget">
          <category>INFO_VIEW_PANEL_LEFT</category>
          <properties>
            <property name="widgetName">infoViewAudioPlayer</property>
          </properties>
          <filter-id>hasAudio</filter-id>
        </action>
    
      </extension>
  • nuxeo-platform-imaging-jsf-2023.12.6.jar /OSGI-INF/imaging-layouts-contrib.xml
    <extension point="actions" target="org.nuxeo.ecm.platform.actions.ActionService">
    
        <action id="summary_picture_view" order="50" type="widget">
          <category>SUMMARY_PANEL_LEFT</category>
          <properties>
            <property name="widgetName">summary_picture_view</property>
          </properties>
          <filter-id>hasPicture</filter-id>
        </action>
    
        <action id="summary_picture_actions" order="100" type="widget">
          <category>SUMMARY_PANEL_LEFT</category>
          <properties>
            <property name="widgetName">summary_picture_actions</property>
          </properties>
          <filter-id>hasPicture</filter-id>
        </action>
    
        <action id="summary_current_document_view">
          <filter-id>notHasPicture</filter-id>
        </action>
    
        <action id="infoViewPictureView" order="100" type="widget">
          <category>INFO_VIEW_PANEL_LEFT</category>
          <properties>
            <property name="widgetName">infoViewPictureView</property>
          </properties>
          <filter-id>hasPicture</filter-id>
        </action>
    
        <action id="summary_current_document_description">
          <filter-id>notHasPicture</filter-id>
        </action>
    
        <action id="summary_current_document_states">
          <filter-id>notHasPicture</filter-id>
        </action>
    
        <action id="summary_current_document_contributors">
          <filter-id>notHasPicture</filter-id>
        </action>
    
        <action id="summary_picture_info_box" order="100" type="widget">
          <category>SUMMARY_PANEL_RIGHT</category>
          <properties>
            <property name="widgetName">summary_picture_info_box</property>
          </properties>
          <filter-id>hasPicture</filter-id>
        </action>
    
        <action id="summary_picture_info" order="200" type="widget">
          <category>SUMMARY_PANEL_RIGHT</category>
          <properties>
            <property name="widgetName">summary_picture_info</property>
          </properties>
          <filter-id>hasPicture</filter-id>
        </action>
    
        <action id="summary_picture_exif" order="220" type="widget">
          <category>SUMMARY_PANEL_RIGHT</category>
          <properties>
            <property name="widgetName">summary_picture_exif</property>
          </properties>
          <filter-id>hasPicture</filter-id>
        </action>
    
        <!-- deprecated see NXP-16336 -->
        <action enabled="false" id="summary_picture_iptc" order="240" type="widget">
          <category>SUMMARY_PANEL_RIGHT</category>
          <properties>
            <property name="widgetName">summary_picture_iptc</property>
          </properties>
          <filter-id>hasPicture</filter-id>
        </action>
    
        <action id="summary_picture_additional_formats" order="300" type="widget">
          <category>SUMMARY_PANEL_LEFT</category>
          <properties>
            <property name="widgetName">summary_picture_additional_formats</property>
          </properties>
          <filter-id>hasPicture</filter-id>
        </action>
    
      </extension>
  • nuxeo-platform-webapp-base-2023.12.6.jar /OSGI-INF/collection-layout-summary-contrib.xml
    <extension point="actions" target="org.nuxeo.ecm.platform.actions.ActionService">
    
        <action id="summary_current_document_collections" order="350" type="widget">
          <category>SUMMARY_PANEL_RIGHT</category>
          <properties>
            <property name="widgetName">summary_current_document_collections</property>
          </properties>
          <filter-id>hasCollection</filter-id>
        </action>
    
      </extension>
  • nuxeo-platform-video-jsf-2023.12.6.jar /OSGI-INF/layouts-contrib.xml
    <extension point="actions" target="org.nuxeo.ecm.platform.actions.ActionService">
    
        <action id="summary_video_player" order="50" type="widget">
          <category>SUMMARY_PANEL_LEFT</category>
          <properties>
            <property name="widgetName">summary_video_player</property>
          </properties>
          <filter-id>hasVideo</filter-id>
        </action>
    
        <action id="summary_current_document_view">
          <filter-id>notHasVideo</filter-id>
        </action>
    
        <action id="summary_video_conversions" order="300" type="widget">
          <category>SUMMARY_PANEL_LEFT</category>
          <properties>
            <property name="widgetName">summary_video_conversions</property>
          </properties>
          <filter-id>hasVideo</filter-id>
        </action>
    
        <action id="summary_video_storyboard" order="340" type="widget">
          <category>SUMMARY_PANEL_RIGHT</category>
          <properties>
            <property name="widgetName">summary_video_storyboard</property>
          </properties>
          <filter-id>hasVideo</filter-id>
        </action>
    
        <action id="summary_video_info" order="350" type="widget">
          <category>SUMMARY_PANEL_RIGHT</category>
          <properties>
            <property name="widgetName">summary_video_info</property>
          </properties>
          <filter-id>hasVideo</filter-id>
        </action>
    
        <action id="infoViewVideoPlayer" order="100" type="widget">
          <category>INFO_VIEW_PANEL_LEFT</category>
          <properties>
            <property name="widgetName">infoViewVideoPlayer</property>
          </properties>
          <filter-id>hasVideo</filter-id>
        </action>
    
      </extension>
  • nuxeo-platform-webapp-core-2023.12.6.jar /OSGI-INF/import-actions-contrib.xml
    <extension point="actions" target="org.nuxeo.ecm.platform.actions.ActionService">
    
        <action help="desc.smart.import.file" id="dndBulkImportDocuments" label="label.smart.import" link="" order="10">
          <category>IMPORT_DOCUMENTS</category>
          <properties>
            <property name="chainId">FileManager.ImportWithMetaDataInSeam</property>
            <property name="layout">bulkImport@create</property>
          </properties>
        </action>
    
      </extension>
  • nuxeo-platform-webapp-core-2023.12.6.jar /OSGI-INF/info-view-layouts-contrib.xml
    <extension point="actions" target="org.nuxeo.ecm.platform.actions.ActionService">
    
        <action id="infoViewPreview" order="100" type="widget">
          <category>INFO_VIEW_PANEL_LEFT</category>
          <properties>
            <property name="widgetName">infoViewPreview</property>
          </properties>
          <filter-id>notHasNote</filter-id>
          <filter-id>view_preview</filter-id>
          <filter-id>denyInfoViewPreview</filter-id>
        </action>
    
        <action id="infoViewNote" order="100" type="widget">
          <category>INFO_VIEW_PANEL_LEFT</category>
          <properties>
            <property name="widgetName">infoViewNote</property>
          </properties>
          <filter-id>hasNote</filter-id>
        </action>
    
        <action id="infoViewNoPreview" order="100" type="widget">
          <category>INFO_VIEW_PANEL_LEFT</category>
          <properties>
            <property name="widgetName">infoViewNoPreview</property>
          </properties>
          <filter-id>notHasPreview</filter-id>
        </action>
    
        <action id="infoViewTitleContainer" order="100" type="widget">
          <category>INFO_VIEW_PANEL_RIGHT</category>
          <properties>
            <property name="widgetName">infoViewTitleContainer</property>
          </properties>
        </action>
    
        <action id="infoViewInfoLayoutContainer" order="200" type="widget">
          <category>INFO_VIEW_PANEL_RIGHT</category>
          <properties>
            <property name="widgetName">infoViewInfoLayoutContainer</property>
          </properties>
        </action>
    
        <action id="infoViewActions" order="300" type="widget">
          <category>INFO_VIEW_PANEL_RIGHT</category>
          <properties>
            <property name="widgetName">infoViewActions</property>
          </properties>
        </action>
    
        <action icon="/icons/pin.png" id="infoAddToFavoritesAction" label="label.addToFavorites" link="#{favoritesActions.addCurrentDocumentToFavorites()}" order="0">
          <category>INFO_VIEW_ACTIONS</category>
          <filter-id>canAddToFavorites</filter-id>
          <properties>
            <property name="ajaxSupport">true</property>
          </properties>
        </action>
    
        <action icon="/icons/pinned.png" id="infoRemoveFromFavoritesAction" label="label.removeFromFavorites" link="#{favoritesActions.removeCurrentDocumentFromFavorites()}" order="0">
          <category>INFO_VIEW_ACTIONS</category>
          <filter-id>canRemoveFromFavorites</filter-id>
          <properties>
            <property name="ajaxSupport">true</property>
          </properties>
        </action>
    
        <action icon="/icons/contextual_menu/unlocked.png" id="infoDocumentLock" label="command.lock" link="#{lockActions.lockCurrentDocument}" order="10" type="link">
          <category>INFO_VIEW_ACTIONS</category>
          <filter-id>mutable_document</filter-id>
          <filter-id>can_lock</filter-id>
          <properties>
            <property name="ajaxSupport">true</property>
          </properties>
        </action>
    
        <action icon="/icons/contextual_menu/locked.png" id="infoDocumentUnlock" label="command.unlock" link="#{lockActions.unlockCurrentDocument}" order="10" type="link">
          <category>INFO_VIEW_ACTIONS</category>
          <filter-id>mutable_document</filter-id>
          <filter-id>can_unlock</filter-id>
          <properties>
            <property name="ajaxSupport">true</property>
          </properties>
        </action>
    
        <action accessKey="k" icon="/icons/contextual_menu/share.png" id="infoPermalinkAction" label="label.permalink" order="20" type="fancybox">
          <category>INFO_VIEW_ACTIONS</category>
          <properties>
            <property name="include">/incl/permalink_box.xhtml</property>
            <property name="ajaxSupport">true</property>
          </properties>
        </action>
    
        <action icon="/icons/contextual_menu/download.png" id="infoDownloadAction" label="label.document.download" link="#{operationActionBean.doOperation('downloadFilesZip')}" order="30" type="link">
          <category>INFO_VIEW_ACTIONS</category>
          <filter-id>documentHasBlobs</filter-id>
        </action>
    
        <action icon="/icons/contextual_menu/subscribe.png" id="infoSubscribesAllDocNotifications" label="label.subscriptions.follow" link="#{subscriptionAction.updateAllSubscriptions}" order="40" type="link">
          <category>INFO_VIEW_ACTIONS</category>
          <filter-id>hasNoSubscriptions</filter-id>
          <filter-id>canSubscribe</filter-id>
          <filter-id>isNotVersion</filter-id>
          <properties>
            <property name="ajaxSupport">true</property>
          </properties>
        </action>
    
        <action icon="/icons/contextual_menu/unsubscribe.png" id="infoUnsubscribesAllDocNotifications" label="label.subscriptions.unfollow" link="#{subscriptionAction.updateAllSubscriptions}" order="40" type="link">
          <category>INFO_VIEW_ACTIONS</category>
          <filter-id>hasSubscriptions</filter-id>
          <filter-id>canSubscribe</filter-id>
          <filter-id>isNotVersion</filter-id>
          <properties>
            <property name="ajaxSupport">true</property>
          </properties>
        </action>
    
      </extension>
  • nuxeo-preview-jsf-2023.12.6.jar /OSGI-INF/actions-contrib.xml
    <extension point="actions" target="org.nuxeo.ecm.platform.actions.ActionService">
    
        <!-- disable the old tab as we now use the showPreviewPopup action -->
        <action enabled="false" icon="/icons/file.gif" id="TAB_PREVIEW" label="label.document.preview" link="/incl/tabs/preview_tab.xhtml" order="200" type="rest_document_link">
          <category>VIEW_ACTION_LIST</category>
          <filter-id>view_preview</filter-id>
        </action>
    
        <action enabled="false" icon="/icons/pdf.png" id="POPUP_PREVIEW" label="label.document.preview" link="javascript:doPreview" order="130">
          <category>POPUP</category>
          <filter-id>popup_view_preview</filter-id>
        </action>
    
        <action enabled="true" icon="/icons/preview.png" id="showFancyBoxPreviewPopup" label="label.document.preview" link="javascript:doPreviewPopup" order="130">
          <category>POPUP</category>
          <filter-id>popup_view_preview</filter-id>
        </action>
    
        <action icon="/icons/contextual_menu/preview.png" id="showFancyBoxPreview" label="label.document.preview" order="50" type="fancybox">
          <category>DOCUMENT_UPPER_ACTION</category>
          <filter-id>view_preview</filter-id>
          <filter-id>not_folder</filter-id>
          <filter-id>not_anonymous</filter-id>
          <properties>
            <property name="iframe">
              #{previewActions.getCurrentDocumentPreviewPopupURL()}
            </property>
            <property name="ajaxSupport">true</property>
          </properties>
        </action>
    
        <action icon="/icons/contextual_menu/preview.png" id="blobPreview" label="label.document.preview" order="150" type="fancybox">
          <category>BLOB_ACTIONS</category>
          <filter-id>hasBlobPreview</filter-id>
          <properties>
            <property name="iframe">#{previewActions.getPreviewURL(document, blobXPath)}</property>
            <property name="ajaxSupport">true</property>
          </properties>
        </action>
    
      </extension>
  • nuxeo-routing-dashboard-2023.12.6.jar /OSGI-INF/document-routing-dashboard-actions-contrib.xml
    <extension point="actions" target="org.nuxeo.ecm.platform.actions.ActionService">
    
        <action enabled="false" id="workflow_dashboard" label="label.main.tab.workflow" link="view_workflow" order="30" type="main_tab">
          <category>MAIN_TABS</category>
        </action>
    
        <action enabled="false" id="routing_tasks" label="action.view.workflow.tasks" link="/incl/tabs/workflow_dashboard_tab.xhtml" order="10">
          <category>WORKFLOW_DASHBOARD</category>
        </action>
    
        <!--since 5.7.3 -->
        <action icon="/icons/workflow_definition.png" id="WorkflowHome" label="tab.admin.workflow" link="/view_home_task.xhtml" order="20">
          <properties>
            <property name="alwaysDisplaySubTabs">false</property>
          </properties>
          <category>USER_CENTER</category>
          <filter-id>not_anonymous</filter-id>
        </action>
    
        <!--since 5.7.3 -->
        <action id="UsersTasks" label="title.dashboard.userTasks" link="/incl/home/user_open_tasks.xhtml" order="40">
          <category>WorkflowHome_sub_tab</category>
          <filter-id>not_readonly</filter-id>
        </action>
    
        <action id="go_back_to_tasks_view" label="command.back" link="#{routingTaskActions.navigateToTasksView()}" order="10">
          <category>TASK_ADDITIONAL_ACTIONS</category>
        </action>
    
      </extension>
  • nuxeo-routing-web-2023.12.6.jar /OSGI-INF/document-routing-actions-contrib.xml
    <extension point="actions" target="org.nuxeo.ecm.platform.actions.ActionService">
        <action id="TAB_CONTENT">
          <filter-id>isNotRoute</filter-id>
        </action>
    
        <action icon="/icons/file.gif" id="TAB_DOCUMENT_ROUTE_CONTENT" label="action.view.content" link="/incl/tabs/document_route_content.xhtml" order="10" type="rest_document_link">
          <category>TAB_MANAGE_sub_tab</category>
          <filter-id>isRoute</filter-id>
        </action>
    
        <action icon="/icons/file.gif" id="TAB_DOCUMENT_ROUTE_ELEMENTS" label="action.view.document.routing.elements" link="/incl/tabs/document_route_content_elements.xhtml" order="10" type="rest_document_link">
          <category>VIEW_ACTION_LIST</category>
          <filter-id>isRoute</filter-id>
        </action>
    
        <action id="CANCEL_RELATED_ROUTE" label="label.document.routing.cancel.route" link="#{routingActions.cancelRoute()}" order="10">
          <category>ATTACHED_ROUTE_LIST</category>
          <filter-id>hasRelatedRouteStarted</filter-id>
          <filter-id>isEditableRoute</filter-id>
        </action>
    
        <action id="SAVE_ATTACHED_ROUTE_AS_NEW_INSTANCE" label="label.document.routing.saveAsNew" link="#{routingActions.saveRouteAsNewInstance()}" order="10">
          <category>ATTACHED_ROUTE_LIST</category>
          <filter-id>hasRelatedRouteStarted</filter-id>
        </action>
    
        <!-- TODO this action should not be seen globally
          <action id="SAVE_SELECTED_ROUTE_AS_NEW_INSTANCE"
          link="#{routingActions.saveSelectedRouteAsNewInstance()}" order="50"
          label="label.document.routing.saveAsNew">
          <category>CURRENT_SELECTION_LIST</category>
          <filter id="canDuplicateRouteInstance">
          <rule grant="true">
          <condition>#{routingActions.getCanDuplicateRouteInstance()}
          </condition>
          </rule>
          </filter>
          </action>
        -->
    
        <!-- TODO this action should not be seen globally
          <action id="SAVE_ROUTE_AS_NEW_INSTANCE" link="#{routingActions.saveRouteAsNewInstance()}"
          order="20" label="label.document.routing.saveAsNew">
          <category>SUBVIEW_UPPER_LIST</category>
          <category>ROUTE_LIST</category>
          <filter-id>isRoute</filter-id>
          </action>
        -->
    
        <action id="VALIDATE_ROUTE" label="action.validate.document.routing.model" link="#{routingActions.validateRouteModel()}" order="10">
          <category>ROUTE_LIST</category>
          <filter-id>isDraftRouteModel</filter-id>
          <filter id="canValidateRoute">
            <rule grant="true">
              <condition>#{routeSecurityChecker.canValidateRoute(currentDocument)}
              </condition>
            </rule>
          </filter>
        </action>
    
        <action id="newDocument">
          <filter-id>create</filter-id>
          <filter-id>isNotDraftRouteModel</filter-id>
        </action>
    
        <!-- 'Workflow' tab when a document route is running -->
        <!--
          <action id="TAB_ROUTE_WORKFLOW" enabled="true"
          link="/incl/tabs/route_workflow.xhtml" label="action.view.review"
          icon="/icons/file.gif" order="60">
          <category>VIEW_ACTION_LIST</category>
          <filter-id>isRoutable</filter-id>
          <filter id="TAB_ROUTE_WORKFLOW_has_subtabs">
          <rule grant="false">
          <condition>
          #{webActions.getActionsList('TAB_ROUTE_WORKFLOW_sub_tab').isEmpty()}
          </condition>
          </rule>
          </filter>
          </action> -->
    
        <!-- 'Workflow' sub tab: current route -->
        <action enabled="true" id="TAB_ROUTE_WORKFLOW" label="action.view.review" link="/incl/tabs/current_route.xhtml" order="60" type="rest_document_link">
          <category>VIEW_ACTION_LIST</category>
          <filter-id>hasRelatedRouteStarted</filter-id>
        </action>
    
        <action id="reassignTask" label="label.workflow.task.reassign" order="100" type="fancybox">
          <category>TASK_ADDITIONAL_ACTIONS</category>
          <properties>
            <property name="include">/incl/tasks/task_reassignment_box.xhtml</property>
            <property name="autoDimensions">true</property>
            <property name="modal">true</property>
            <property name="scrolling">auto</property>
            <property name="ajaxSupport">true</property>
          </properties>
        </action>
    
        <action id="delegateTask" label="label.workflow.task.delegation" order="110" type="fancybox">
          <category>TASK_ADDITIONAL_ACTIONS</category>
          <properties>
            <property name="include">/incl/tasks/task_delegation_box.xhtml</property>
            <property name="autoDimensions">true</property>
            <property name="modal">true</property>
            <property name="scrolling">auto</property>
            <property name="ajaxSupport">true</property>
          </properties>
        </action>
    
        <action icon="/icons/refresh.png" id="current_route_refresh_tasks" label="label.refresh" link="#{taskActions.resetCache()}" order="100">
          <category>CURRENT_ROUTE_PANEL_TOP</category>
          <properties>
            <property name="ajaxSupport">true</property>
            <property name="addForm">true</property>
            <property name="useAjaxForm">true</property>
            <property name="styleClass">button</property>
            <property name="ajaxReRender">
              currentRoutePanelLeft
            </property>
          </properties>
        </action>
    
      </extension>
  • nuxeo-routing-web-2023.12.6.jar /OSGI-INF/layouts-summary-contrib.xml
    <extension point="actions" target="org.nuxeo.ecm.platform.actions.ActionService">
    
        <action id="summary_document_route" order="250" type="widget">
          <category>SUMMARY_PANEL_RIGHT</category>
          <properties>
            <property name="widgetName">summary_document_route</property>
          </properties>
        </action>
    
      </extension>
  • nuxeo-routing-web-2023.12.6.jar /OSGI-INF/layouts-contrib.xml
    <extension point="actions" target="org.nuxeo.ecm.platform.actions.ActionService">
    
        <action id="current_route_user_tasks" order="100" type="widget">
          <category>CURRENT_ROUTE_PANEL_LEFT</category>
          <properties>
            <property name="widgetName">current_route_user_tasks</property>
          </properties>
        </action>
    
        <action id="current_route_open_tasks" order="200" type="widget">
          <category>CURRENT_ROUTE_PANEL_LEFT</category>
          <properties>
            <property name="widgetName">current_route_open_tasks</property>
          </properties>
        </action>
    
        <action id="current_route_previous_tasks" order="300" type="widget">
          <category>CURRENT_ROUTE_PANEL_LEFT</category>
          <properties>
            <property name="widgetName">current_route_previous_tasks</property>
          </properties>
        </action>
    
        <action id="current_route_description" order="100" type="widget">
          <category>CURRENT_ROUTE_PANEL_RIGHT</category>
          <properties>
            <property name="widgetName">current_route_description</property>
          </properties>
        </action>
    
        <action id="current_route_show_graph" order="200" type="widget">
          <category>CURRENT_ROUTE_PANEL_RIGHT</category>
          <properties>
            <property name="widgetName">current_route_show_graph</property>
          </properties>
        </action>
    
        <action id="current_route_abandon" order="300" type="widget">
          <category>CURRENT_ROUTE_PANEL_RIGHT</category>
          <properties>
            <property name="widgetName">current_route_abandon</property>
          </properties>
          <filter-id>currentUserIsWorkflowInitatior</filter-id>
        </action>
    
      </extension>
  • nuxeo-routing-web-2023.12.6.jar /OSGI-INF/document-routing-admincenter-contrib.xml
    <extension point="actions" target="org.nuxeo.ecm.platform.actions.ActionService">
    
        <action id="tab.admin.workflow" label="tab.admin.workflow" link="/incl/admin/adminWorkflow.xhtml" order="80" type="admin_rest_document_link">
          <category>NUXEO_ADMIN</category>
          <filter-id>only_for_manager</filter-id>
        </action>
    
      </extension>
  • nuxeo-search-ui-2023.12.6.jar /OSGI-INF/search-actions-contrib.xml
    <extension point="actions" target="org.nuxeo.ecm.platform.actions.ActionService">
    
        <!-- Main tab actions -->
    
        <action id="search" label="label.main.tab.search" link="search" order="50" type="template">
          <category>MAIN_TABS</category>
          <properties>
            <property name="template">/search/incl/action/search_main_tab_action_template.xhtml</property>
          </properties>
        </action>
    
        <!-- End of Main tab actions -->
    
        <!-- Search actions -->
    
        <action icon="" id="saveSearch" label="command.search.save" order="0" type="fancybox">
          <category>SEARCH_RESULTS_ACTIONS</category>
          <properties>
            <property name="include">/search/incl/save_search_box.xhtml</property>
            <property name="autoDimensions">true</property>
            <property name="modal">true</property>
            <property name="scrolling">auto</property>
            <property name="ajaxSupport">true</property>
          </properties>
          <filter-id>notNxqlSearchSelected</filter-id>
          <filter-id>canSaveSearch</filter-id>
          <filter-id>not_transient_user</filter-id>
        </action>
    
        <action id="submitSearch" label="label.search.filter" link="#{searchUIActions.refreshAndRewind()}" order="10">
          <category>SEARCH_FILTER_ACTIONS</category>
          <properties>
            <property name="ajaxSupport">true</property>
            <property name="ajaxReRender">
              searchPanelLeft searchPanelRight
            </property>
            <property name="styleClass">primary</property>
          </properties>
        </action>
    
        <action id="clearSearch" immediate="true" label="label.search.clear" link="#{searchUIActions.clearSearch()}" order="20">
          <category>SEARCH_FILTER_ACTIONS</category>
          <properties>
            <property name="ajaxSupport">true</property>
            <property name="ajaxReRender">
              searchPanelLeft searchPanelRight
            </property>
          </properties>
        </action>
    
        <!-- End of Search actions -->
    
        <!-- Home Searches tab actions -->
    
        <action id="AllSavedSearches" label="label.home.all.searches" link="/search/incl/all_saved_searches.xhtml" order="-10" type="home_rest_document_link">
          <category>SavedSearches_sub_tab</category>
          <filter-id>not_anonymous</filter-id>
          <filter-id>not_transient_user</filter-id>
        </action>
    
        <action confirm="if( !confirmDeleteDocumentsForever() ) return false;" help="command.deleteDocs.help" icon="" id="savedSearchesCurrentSelectionDelete" label="command.trashDocs" link="#{deleteActions.purgeSelection('SAVED_SEARCHES_CURRENT_SELECTION')}">
          <category>SAVED_SEARCHES_CURRENT_SELECTION_LIST</category>
          <filter id="canDeleteSavedSearches">
            <rule grant="true">
              <condition>#{deleteActions.getCanDelete('SAVED_SEARCHES_CURRENT_SELECTION')}</condition>
            </rule>
          </filter>
        </action>
    
        <action id="TAB_MY_SUBSCRIPTIONS">
          <filter-id>denyForDefaultSearch</filter-id>
        </action>
    
        <action id="TAB_MANAGE_SUBSCRIPTIONS">
          <filter-id>denyForDefaultSearch</filter-id>
        </action>
    
        <action id="TAB_RELATIONS">
          <filter-id>denyForDefaultSearch</filter-id>
        </action>
    
        <!-- End of Home Searches tab actions -->
    
        <!-- Search content views -->
    
        <action id="defaultSearchContentView" order="0">
          <category>SEARCH_CONTENT_VIEWS</category>
          <properties>
            <property name="contentViewName">default_search</property>
          </properties>
        </action>
    
        <action id="simpleSearchContentView" order="100">
          <category>SEARCH_CONTENT_VIEWS</category>
          <properties>
            <property name="contentViewName">simple_search</property>
          </properties>
        </action>
    
        <action id="nxqlSearchContentView" order="200">
          <category>SEARCH_CONTENT_VIEWS</category>
          <properties>
            <property name="contentViewName">nxql_search</property>
          </properties>
        </action>
    
        <!-- End of Search content views -->
    
        <!-- header actions -->
    
        <action id="simple_search_box" order="1" type="template">
          <category>SEARCH_ACTIONS</category>
          <filter-id>isSearchEnabled</filter-id>
          <properties>
            <property name="template">/search/incl/search_box.xhtml</property>
          </properties>
        </action>
    
        <!-- End of header actions -->
    
      </extension>
  • nuxeo-search-ui-2023.12.6.jar /OSGI-INF/search-layouts-contrib.xml
    <extension point="actions" target="org.nuxeo.ecm.platform.actions.ActionService">
    
        <!-- Search form -->
    
        <action id="searchesSelector" order="100" type="widget">
          <category>SEARCH_PANEL_LEFT</category>
          <properties>
            <property name="widgetName">searchesSelector</property>
          </properties>
        </action>
    
        <action id="searchLayout" order="200" type="widget">
          <category>SEARCH_PANEL_LEFT</category>
          <properties>
            <property name="widgetName">searchLayout</property>
          </properties>
          <filter-id>notNxqlSearchSelected</filter-id>
        </action>
    
        <!-- End Search form -->
    
        <!-- Search results -->
    
        <action id="searchViewTitle" order="100" type="widget">
          <category>SEARCH_PANEL_RIGHT</category>
          <properties>
            <property name="widgetName">searchViewTitle</property>
            <property name="containerStyleClass">searchViewTitle</property>
          </properties>
        </action>
    
        <action id="searchResultsActions" order="200" type="widget">
          <category>SEARCH_PANEL_RIGHT</category>
          <properties>
            <property name="widgetName">searchResultsActions</property>
            <property name="containerStyleClass">searchResultsActions</property>
          </properties>
        </action>
    
        <action id="searchNxqlInput" order="300" type="widget">
          <category>SEARCH_PANEL_RIGHT</category>
          <properties>
            <property name="widgetName">searchNxqlInput</property>
          </properties>
          <filter-id>nxqlSearchSelected</filter-id>
        </action>
    
        <action id="searchContentView" order="400" type="widget">
          <category>SEARCH_PANEL_RIGHT</category>
          <properties>
            <property name="containerStyleClass">searchResultsListing</property>
            <property name="widgetName">searchContentView</property>
          </properties>
        </action>
    
        <!-- End Search results -->
    
      </extension>
  • nuxeo-search-ui-2023.12.6.jar /OSGI-INF/search-local-configuration-layouts-contrib.xml
    <extension point="actions" target="org.nuxeo.ecm.platform.actions.ActionService">
    
        <action icon="/icons/file.gif" id="SEARCH_CONFIGURATION" label="action.view.theme" link="/search/incl/tabs/search_configuration.xhtml" order="100">
          <category>LOCAL_CONFIGURATION</category>
          <filter-id>manage</filter-id>
        </action>
    
      </extension>
  • nuxeo-user-center-2023.12.6.jar /OSGI-INF/actions-contrib.xml
    <extension point="actions" target="org.nuxeo.ecm.platform.actions.ActionService">
    
        <action id="home" label="label.main.tab.home" link="view_home" order="20" type="main_tab">
          <category>MAIN_TABS</category>
          <filter-id>not_transient_user</filter-id>
        </action>
    
        <!-- Users and Groups directory -->
        <action icon="/icons/users_groups.png" id="UsersGroupsHome" label="command.manageMembers" link="/user_center_fragment.xhtml" order="60">
          <category>USER_CENTER</category>
          <filter-id>not_anonymous</filter-id>
          <filter-id>not_readonly</filter-id>
          <filter-id>not_transient_user</filter-id>
        </action>
        <action id="UsersHome" label="label.userManager.users" link="/users/view_users.xhtml" order="10">
          <category>UsersGroupsHome_sub_tab</category>
          <filter-id>not_readonly</filter-id>
        </action>
        <action id="GroupsHome" label="label.groupManager.groups" link="/users/view_groups.xhtml" order="20">
          <category>UsersGroupsHome_sub_tab</category>
          <filter-id>not_readonly</filter-id>
        </action>
    
        <!-- Saved searches -->
        <action icon="/icons/saved_searches.png" id="SavedSearches" label="user.center.saved.searches" link="/user_center_fragment.xhtml" order="70">
          <category>USER_CENTER</category>
          <filter-id>not_anonymous</filter-id>
          <filter-id>not_transient_user</filter-id>
          <filter id="SavedSearches_has_subtabs">
            <rule grant="false">
              <condition>
                #{webActions.getActionsList('SavedSearches_sub_tab').isEmpty()}
              </condition>
            </rule>
          </filter>
        </action>
    
      </extension>
  • nuxeo-user-dashboard-jsf-2023.12.6.jar /OSGI-INF/actions-contrib.xml
    <extension point="actions" target="org.nuxeo.ecm.platform.actions.ActionService">
    
        <action icon="/icons/dashboard.png" id="Dashboard" label="user.center.dashboard" link="/user_center_fragment.xhtml" order="10">
          <category>USER_CENTER</category>
        </action>
    
        <action id="DashboardMain" label="" link="/incl/dashboard/user_jsf_dashboard.xhtml" order="10" type="admin_rest_document_link">
          <category>Dashboard_sub_tab</category>
        </action>
    
      </extension>
  • nuxeo-user-dashboard-jsf-2023.12.6.jar /OSGI-INF/layouts-dashboard-contrib.xml
    <extension point="actions" target="org.nuxeo.ecm.platform.actions.ActionService">
    
        <documentation>
          Actions stacking widgets inside the default JSF dasboard
    
          @since 5.6
        </documentation>
    
        <action id="dashboard_user_favorites" order="20" type="widget">
          <category>DASHBOARD_LEFT</category>
          <properties>
            <property name="widgetName">dashboard_user_favorites</property>
          </properties>
        </action>
    
        <action id="dashboard_user_shared_documents" order="30" type="widget">
          <category>DASHBOARD_LEFT</category>
          <properties>
            <property name="widgetName">dashboard_user_shared_documents</property>
          </properties>
        </action>
    
        <action id="dashboard_user_tasks" order="40" type="widget">
          <category>DASHBOARD_LEFT</category>
          <properties>
            <property name="widgetName">dashboard_user_tasks</property>
          </properties>
        </action>
    
        <!-- dashboard_user_processes, with order 40, moved to addons -->
    
        <action id="dashboard_user_workspaces" order="60" type="widget">
          <category>DASHBOARD_LEFT</category>
          <properties>
            <property name="widgetName">dashboard_user_workspaces</property>
          </properties>
        </action>
    
        <action id="dashboard_user_sections" order="80" type="widget">
          <category>DASHBOARD_LEFT</category>
          <properties>
            <property name="widgetName">dashboard_user_sections</property>
          </properties>
        </action>
    
        <action id="dashboard_user_documents" order="20" type="widget">
          <category>DASHBOARD_RIGHT</category>
          <properties>
            <property name="widgetName">dashboard_user_documents</property>
          </properties>
        </action>
    
        <action id="dashboard_domain_documents" order="40" type="widget">
          <category>DASHBOARD_RIGHT</category>
          <properties>
            <property name="widgetName">dashboard_domain_documents</property>
          </properties>
        </action>
    
        <action id="dashboard_domain_published_documents" order="60" type="widget">
          <category>DASHBOARD_RIGHT</category>
          <properties>
            <property name="widgetName">dashboard_domain_published_documents</property>
          </properties>
        </action>
    
        <action id="dashboard_user_sites" order="80" type="widget">
          <category>DASHBOARD_RIGHT</category>
          <properties>
            <property name="widgetName">dashboard_user_sites</property>
          </properties>
        </action>
    
        <!-- disabled for now -->
        <action enabled="false" id="dashboard_user_deleted_documents" order="100" type="widget">
          <category>DASHBOARD_RIGHT</category>
          <properties>
            <property name="widgetName">dashboard_user_deleted_documents</property>
          </properties>
        </action>
    
      </extension>
  • nuxeo-user-notification-2023.12.6.jar /OSGI-INF/actions-contrib.xml
    <extension point="actions" target="org.nuxeo.ecm.platform.actions.ActionService">
    
        <action icon="/icons/notifications.png" id="Notification" label="user.center.notification" link="/incl/notification/user_subscriptions.xhtml" order="40">
          <category>USER_CENTER</category>
          <filter-id>not_anonymous</filter-id>
        </action>
    
      </extension>
  • nuxeo-user-oauth-2023.12.6.jar /OSGI-INF/oauth-actions-contrib.xml
    <extension point="actions" target="org.nuxeo.ecm.platform.actions.ActionService">
    
        <action icon="/icons/authorized_apps.png" id="AuthorizedApplication" label="user.center.authorizedApplication" link="/user_center_fragment.xhtml" order="50" type="home_rest_document_link">
          <category>USER_CENTER</category>
          <filter-id>not_anonymous</filter-id>
          <filter-id>not_transient_user</filter-id>
        </action>
    
        <action id="AuthorizedApplicationMain" label="" link="/incl/oauth/authorized_applications.xhtml" order="10">
          <category>AuthorizedApplication_sub_tab</category>
        </action>
    
        <action id="OAuthTokens" label="tab.user.center.cloudServices" link="/incl/oauth/user_tokens.xhtml" order="55">
          <category>USER_CENTER</category>
          <filter-id>not_anonymous</filter-id>
          <filter-id>not_transient_user</filter-id>
        </action>
    
      </extension>
  • nuxeo-user-profile-jsf-2023.12.6.jar /OSGI-INF/actions-contrib.xml
    <extension point="actions" target="org.nuxeo.ecm.platform.actions.ActionService">
    
        <action icon="/icons/profile.png" id="Profile" label="user.center.profile" link="/user_center_fragment.xhtml" order="20">
          <category>USER_CENTER</category>
          <filter-id>not_anonymous</filter-id>
          <filter-id>not_transient_user</filter-id>
        </action>
    
        <action id="ProfileView" label="user.center.profile.tab.view" link="/incl/userprofile/user_profile.xhtml" order="10">
          <category>Profile_sub_tab</category>
        </action>
    
        <action icon="/icons/preferences.png" id="Preferences" label="user.center.preferences" link="/user_center_fragment.xhtml" order="30">
          <category>USER_CENTER</category>
          <filter-id>not_anonymous</filter-id>
          <filter-id>not_transient_user</filter-id>
        </action>
    
        <action id="PreferencesView" label="user.center.preferences.tab.view" link="/incl/userprofile/user_preferences.xhtml" order="20">
          <category>Preferences_sub_tab</category>
        </action>
    
        <action enabled="true" id="PreferencesAction" label="user.center.preferences" link="#{userPreferencesActions.navigateToPreferencesPage}" order="70">
          <category>USER_MENU_ACTIONS</category>
          <filter-id>not_transient_user</filter-id>
        </action>
    
    
      </extension>
  • nuxeo-user-profile-jsf-2023.12.6.jar /OSGI-INF/layouts-contrib.xml
    <extension point="actions" target="org.nuxeo.ecm.platform.actions.ActionService">
    
        <action id="userProfile" order="200" type="widget">
          <category>USER_PANEL_LEFT</category>
          <properties>
            <property name="widgetName">userProfile</property>
          </properties>
        </action>
    
      </extension>
  • nuxeo-web-ui-3.1.8.jar /OSGI-INF/actions-contrib.xml
    <extension point="actions" target="org.nuxeo.ecm.platform.actions.ActionService">
    
        <action id="webui" label="WEBUI" link="ui" order="90" type="bare_link">
          <category>MAIN_TABS</category>
        </action>
    
      </extension>